每 24 小时在服务器上运行此简单 cronjob 时出现问题。出了什么问题?

每 24 小时在服务器上运行此简单 cronjob 时出现问题。出了什么问题?

尝试每天 00:30 运行“R”脚本。该脚本位于 /home/username/Desktop/folder/runnow.r 中,并which Rscript显示二进制 Rscript 的绝对路径为/usr/bin/Rscript。我创建的 crontab 条目是使用命令crontab -e,然后插入以下行:

38 14 * * * /usr/bin/Rscript /home/username/Desktop/folder/runnow.r

现在的时间当然是 14:36。我等了 5 分钟,看看我的主文件夹中是否创建了一个 CSV 文件。因为 R 脚本 runnow.r 有指令来处理一些数据,然后在主文件夹中创建一个 CSV 文件。

但是我的主文件夹中没有 CSV 文件。当我手动运行此脚本(不使用 cron)时,它会在我的主文件夹中创建一个 CSV。所以我知道脚本没有问题。我到处都使用绝对路径,甚至尝试使用 重新启动 crond service crond restart。但是,没有运气。这是权限问题吗?crond 是否没有足够的权限在我的主文件夹中创建 CSV?

编辑:新观察

如果我将该行更改为* * * * * /usr/bin/Rscript /home/username/Desktop/foldername/runme.r而不是指定确切时间,它会在正确的位置创建正确的 CSV 文件。所以* * * * *有效和54 13 * * *无效。为什么?

答案1

我在上次观察时间后找到了答案。虽然这会让我看起来很傻,但我搞错了时间。我正在虚拟机中测试这个 cronjob,虚拟机的时间与主机不同。我在虚拟机中安排作业,并查看主机上的时间。两次时间不同意味着脚本没有在我预期的时间执行。

相关内容