概述
本文主要介绍ECS实例Linux系统中执行crontab命令报错的解决方法。
问题症状
执行
crontab -e
命令,提示如下错误。
[root@iZ*****kZ ~]# crontab -e
crontab: installing new crontab
/var/spool/cron/tmp.XXXX6bK9dR: Permission denied
crontab: edits left in /tmp/crontab.ssXqpW
问题原因
通过报错信息发现是
/var/spool/cron/
目录无法写入。
目录被设置为不能被删除、改名、设定链接关系,同时不能写入或新增内容。
解决方案
-
执行如下命令,进入
/var/spool/cron/
目录。
cd /var/spool/cron/
-
执行如下命令,进行写入测试。
touch test
系统显示类似如下,无法写入。
touch: cannot touch `test': Permission denied
-
切换到上级目录,执行如下命令。
lsattr cron/
系统显示类似如下,发现文件有“i”属性。
----i--------e- cron/authorized_keys
----i--------e- cron/crontabs
----i--------e- cron/root
注:“i”属性设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。
-
执行如下命令,删除“i”属性。
chattr -i cron/
-
再次执行
crontab -e
命令,系统显示类似如下。
[root@iZ****kZ cron]# crontab -e
crontab: installing new crontab
crontab: error renaming /var/spool/cron/tmp.XXXXwhWDUP to /var/spool/cron/root
rename: Operation not permitted
crontab: edits left in /tmp/crontab.5f279w
-
执行如下命令,修改/var/spool/cron/root权限。
chattr -i cron/root
-
执行
crontab -e
命令,系统显示类似如下,表示恢复正常。
crontab: installing new crontab
适用于
FAQ
关于此文档暂时还没有FAQ