Linux Crontab不复制文件



我对以下crontab条目有问题。

14 8 * * * sudo cp /home/george/service/logs/daily.log "/home/george/service/logs/daily_$(date +%Y%m%d -d "yesterday").log"

此条目应在每天服务器时间8:14执行。

它的目的是备份日常日志,以便妥善保管和进一步分析。

在将脚本输入crontab之前,我按原样测试了该脚本,并按预期工作。

此外,我决定使用sudo,因为我不想被用户特权所困扰。

我确信cron服务正在运行,因为还有另一个cronjob每天都在这个日志文件中写入。

我正在运行一台Ubuntu18服务器,cron作业是用/etc/crontab编写的
最初的cron作业是由我的一位同事使用以下命令编写的。

sudo nano /etc/crontab

所有其他cron作业都工作得很好,只是这个新的复制脚本没有。

有什么想法吗?

通过crontab启动的进程通常使用sh(而不是bash(,因此您需要编写命令的完整路径。在你的例子中,我认为它会是这样的:

14 8 * * * /usr/bin/sudo /usr/bin/cp  /home/george/service/logs/daily.log "/home/george/service/logs/daily_$(date +%Y%m%d -d "yesterday").log"

您还可以在/var/log/syslog:中检查cron作业输出

sudo grep CRON /var/log/syslog

对于cron作业操作,可以使用命令crontab和键-e(编辑(-l(列表(:

sudo crontab -e

此外,我认为这将是一个很好的工具为你:

https://crontab.guru/

相关内容

  • 没有找到相关文章

最新更新