Crontab不执行bash脚本
我很少使用
Linux,所以没有任何bash脚本和cron作业的经验.
这实际上是我的第一次尝试.所以修复它可能非常简单. 我有以下内容: /etc/cron.d/clear-mixtape-dir.sh #!/bin/bash # Clears the /tmp/mixtape2 directory rm -rf "/tmp/mixtape2/"* 我的crontab文件如下所示: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ */15 * * * * /etc/cron.d/clear-mixtape-dir.sh >/dev/null 2>&1 我试图每15分钟执行一次.sh脚本. 我发现的一切都说这应该有效,但事实并非如此. 在这种情况下,文件权限(在/ tmp / mixtape2 /中的文件上)是否重要? 任何建议表示赞赏 解决方法
注意:这些注释引用/ etc / crontab.
在做任何其他事情之前,你在哪个cron访问crontab -e或 su -vim <your-favorite-editor> /etc/crontab 如果您使用的是crontab -e,则crontab的那种形式中不存在用户字段.这可能就是你没有跑步的原因. 在您的示例中,您的用户字段为*.我会使它成为root或具有适当权限的用户. 在运行这个程序之前,我会创建一个虚拟的crontab条目 接下来,看看cron是否正在运行: ps -ef | grep cron 如果它没有运行,请成为root并通过enter启动它 /etc/init.d/cron start(Ubuntu和Red Hat). 您已经有一个很好的答案,建议您因为权限问题而将root用户添加为用户.我将建议更多的东西来帮助你调试.多年来我遇到了很多cron问题. 1)将电子邮件设置为已知地址,除非您将持续监控root的电子邮件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin MAILTO=fred@somewhere.com HOME=/ 2)在一切正常运行之前,从你的cron条目中取出> / dev / null 2>& 1,这样你就可以看到脚本运行后生成的电子邮件中的输出. 3)Bump * / 15缩小到大于运行脚本的间隔 – likr * / 5,因此脚本运行得更频繁. 4)我不知道确切的原因,但是我用cron运行的脚本必须建立自己的环境,尽管在cron中以该用户身份运行.这可能包括cd / home / script-owner和运行源.bashrc等步骤,并调用设置环境变量的其他脚本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |