linux添加定時任務報錯 error renaming Is a directory和rename: Operation not permitted

在給linux服務器添加定時任務的時候出現以下錯誤
文件格式問題
[root@xxxxxxbi2cZ ~]# crontab -e
crontab: installing new crontab
crontab: error renaming /var/spool/cron/#tmp.xxx10nxxpg.XXOl to /var/spool/cron/root
rename: Is a directory
crontab: edits left in /tmp/crontab.yZZ3z7

咱也不是專業的運維,先去百度了一下以爲是權限問題,後面找了好久發現並不是這個問題權限問題的話會提示
rename: Operation not permitted
後面發現其實rename: Is a directory 這句纔是關鍵,菜的一匹,這句話是說是一個文件夾,明眼人都知道,哈哈哈

因爲之前在虛擬機中添加定時任務是可以實現的所以就去看了一下虛擬機裏面的root文件發現這個root確實不是一個文件夾。。。

是啥呢 他是存放定時任務的文件是一個文件裏面放的就是定時表達式 《0 */24 * * * + 腳本路徑》大概是0 */24 * * * /usr/local/jiaoben.sh這個亞子的 怎麼解決很簡單 只需要吧root文件夾刪除 然後重新運行crontab -e 重新添加定時任務就行了

權限問題

說完我的問題擴展一下如果出現rename: Operation not permitted這個錯誤,就是權限問題解決辦法如下

解決方法:執行如下命令,修改/var/spool/cron/root權限。
chattr -i /var/spool/cron/root,這個是清除這個目錄的一些特殊限制的,然後執行 crontab -e 命令,就可以重新添加一個定時任務了

原文鏈接:https://blog.csdn.net/qq_29485643/article/details/89072025

參考:https://www.zhanqunfuwuqi.com/archives/3891
普通用戶權限問題

參考:https://www.cnblogs.com/fivedays/p/12580850.html

linux cron定時器表達式校驗工具

linux的cron表達式和java的還是有些區別的

參考:https://tool.lu/crontab/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章