Crontab 失败,但命令在终端中有效

问题描述 投票:0回答:1

我正在尝试安排一个 R 脚本来进行抓取、一些计算,然后每天向一小群人发送两次电子邮件。我已经让脚本运行良好,但我似乎无法让 crontab 工作。我已经为 cron 提供了完整的磁盘访问权限,将脚本放在一个文件夹中,并在其中尽可能扩展了访问权限,并将 R 脚本的执行放入了 shell 脚本中。一切都拥有我所能给予的尽可能多的权限。当我在终端中运行该命令时,它工作正常,但在 cron 中不起作用。谁能帮忙解释一下为什么这不起作用?

我能做的最好的事情就是看到 R 在活动监视器中弹出,然后消失,所以我假设脚本存在一些问题。

当前的crontab:

0 * * * * /bin/bash /Users/billbachrach/cron_jobs/email_tests.sh

这适用于终端:

/bin/bash /Users/billbachrach/cron_jobs/email_tests.sh

外壳文件:

#!/bin/sh
/usr/local/bin/Rscript /Users/billbachrach/cron_jobs/Craigslist_Good_Deal_Full_Script_V001.R

我会分享 R 脚本,但它相当复杂。它可以完美地自行运行,也可以从终端运行。

r bash macos cron cron-task
1个回答
0
投票

您在哪个 crontab 中输入了它?您自己的还是系统范围的(/etc/crontab)?系统范围默认以 root 用户身份运行。因此,脚本的所有条目都需要权限或必须使用 sudo 运行。使用 crontab -e 尝试您的 crontab。

© www.soinside.com 2019 - 2024. All rights reserved.