我用crontab这样定义工作
0 2 * * * dbadmin . /home/dbadmin/back.sh
它不是root用户,我想与dbadmin用户一起运行此.sh文件。
但是当我检查它不起作用时。
在日志中给出以下内容:
Feb 22 21:16:01 localhost crond[14634]: (*system*) BAD FILE MODE (/etc/crontab)
Feb 22 21:16:01 localhost crond[14634]: (dbadmin) RELOAD (cron/dbadmin)
Feb 22 21:16:01 localhost crond[28451]: (dbadmin) CMD (dbadmin . /home/dbadmin/back.sh)
我怎样才能解决这个问题?提前致谢
最佳答案
在不带用户名的情况下,以dbadmin身份创建crontab条目:
0 2 * * * /home/dbadmin/movefolder.sh > /home/dbadmin/cron.out 2>@1
日志文件/home/dbadmin/cron.out每天都应替换为一个新文件。
如果您对cron + movefolder很有信心,请将输出文件替换为
/dev/null
。如果以上操作失败,请检查以dbadmin身份调用脚本:
sh /home/dbadmin/movefolder.sh
当该程序工作并且cron失败时,可能是环境造成的。尝试像
0 2 * * * . /home/dbadmin/.profile; /home/dbadmin/movefolder.sh > /home/dbadmin/cron.out 2>@1
关于linux - 为什么我的预定工作不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28658993/