Cron 任务似乎在系统日志中运行,但实际上并未运行

Cron 任务似乎在系统日志中运行,但实际上并未运行

我在一台服务器上编写了一个简短的脚本来备份文件夹并通过 FTP 将其发送到另一台服务器。我试图使用 crontab 将其设置为每分钟运行一次。当我手动运行它时,它运行正常,但是当 cron 运行它时,似乎什么都没有发生(即另一端没有收到任何文件)。正如我在标题中所说,任务显示在 syslog 中,好像一切都正常。

脚本如下:

#! /bin/sh

cd /root

FILENAME="backup-$(date +%b_%d_%Y_%H:%M).zip"

zip -r $FILENAME folder

ftp -in 74.131.78.127 24721 << EOF > ~/log.txt 2>&1

user myusername 
binary
cd Desktop/backups
mput $FILENAME

EOF

rm $FILENAME

Crontab 条目:

* * * * * /root/backup.sh

我使用 输入了此内容crontab -e

答案1

我找到了我的问题。实际上,它root没有权限访问我这个命名不当的/root文件夹。一个简单的chmod -R 707 /root方法就解决了。

答案2

设置创建单独的cron.log会很有帮助,更加有用。

此问答描述了该过程:

16.04:如何让 cron 创建 cron.log 并实时监控它?

此答案中还提供了创建wcron显示近乎实时的命令的说明。

另外,它链接到另一个答案,

如何更改 cron 日志级别?

这显示了如何更改日志级别以包含不仅仅是作业的开始 - 级别 15 还将显示错误和结束时间。

也许您的答案就在日志输出中。

相关内容