我用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/

10-11 17:40