我在AWS EC2中创建了一个cron作业,但它无效。
我按照以下步骤创建了cron标签:
第1步:我登录AWS EC2 Instace
第2步:sudo su
第2步:crontab -e
第3步:插入模式
第4步:我进入了
# M H DOM M DOW CMND
15 14 * * 3 /services/backup.sh >/tmp/error.log 2>&1
第5步:wq Cron选项卡已创建但未运行。
请你能帮助我吗,为什么它不起作用?
更新:
经过大量研究后,我发现我可以给特定的cron文件提供日志,所以在我的文件中添加了> /tmp/error.log 2>& 1并在那里创建了error.log。
但我没有在那里获得任何cron日志。现在我认为我的cron文件没有运行(显然它没有运行)。
但如何判断我是否缺乏
当我检查了cron服务时,它运行时名为crond
service crond status
crond (pid 28283) is running...
(backup.sh脚本绝对正常运行)
答案 0 :(得分:0)
你能在下面的cron中尝试backup.sh的完整路径吗?您可以使用pwd命令查找脚本的完整路径。
# M H DOM M DOW CMND
25 12 * * 3 /home/user/script/backup.sh
也许,您的cron服务未启动,您可以使用" ps -ef |检查状态grep cron | grep -v grep"
如果没有看到任何东西运行这个;
sudo service cron start
如果跑步;改变cron如下;
15 13 * * 3 root /fullpath/backup.sh >/tmp/error.log 2>&1
然后你检查error.log
> /tmp/error.log 2>& 1是; 将程序的输出重定向到/tmp/error.log。包括标准错误和标准输出
答案 1 :(得分:0)
我认为您的问题可能来自backup.sh
文件的权限和所有权。
检查文件的所有权,然后在/etc/crontab
文件中进行相应的更改:
25 12 * * 3 <owner of the file> /home/user/script/backup.sh
例如,如果文件backup.sh
的所有者是root
,那么它应该如下所示:
25 12 * * 3 root /home/user/script/backup.sh
希望这有帮助!