13

我刚刚开始使用 crontab 并且遇到了一些问题。我已经阅读了一些关于如何在 macOS 上使用它的帖子,但它仍然无法正常工作。

所以,我写crontab -e了 ,然后将其编辑为 */1 * * * * cliclick -w 1 m:3,3(例如) - 这意味着每 1 分钟重复单击 x=3;y=3。一切都没有改变。但是,当我从终端只使用这个命令时,一切都很好。

我已经尝试过创建一个script.sh文件,并且情况相同:从手动命令它可以工作,而从 crontab 不是。

也许,我做错了什么? 更新: crontab 具有完整的磁盘访问权限。

UPDATE2: 我尝试在 BigSur 上再做一次。首先,我使用一个更简单的命令,例如echo

* * * * * echo 'test' >> /*/Desktop/text.txt 而且效果很好。之后,我自己写script.sh

echo '2test' >> /Users/***/Desktop/t.txt
/usr/local/bin/cliclick -w 1 m:1,3
cliclick -w 1 m:55,44

它的 cliclick 不起作用,因为其他 bin 文件位于/usr/local/bin/(cliclick 位于此路径中)

请注意,如果我执行 ./script.sh 则 cliclick 在这两种情况下都可以正常工作。

我彻底搜索了一下,发现运行 cliclick(和其他)是不可能的:https : //github.com/BlueM/cliclick/issues/103crontab

4

4 回答 4

17

我的问题是,该 cron 无法访问磁盘,因此它无法运行我的脚本。我必须提供全盘访问权限/usr/sbin/cron

请参阅此博客文章:https ://blog.bejarano.io/fixing-cron-jobs-in-mojave/

于 2020-03-04T09:46:20.330 回答
7

授予terminal.app全盘访问权限。

您需要在设置 > 安全和隐私 > 隐私中授权全盘访问terminal.app

于 2020-01-30T08:02:17.487 回答
4

(macOS Big Sur 版本 11.2.3)

首先,您必须使用 . 验证 cron 是否存在crontab -l

完成创建 cronjob 后,您会看到类似“crontab:安装新的 crontab”的内容。(如果您没有看到此消息,则该作业尚未创建,并且在您运行时不会显示crontab -l

为了确保 cronjob 执行,我必须按照 @roNn23@berkinet 的建议去做。详细说明链接文章出现故障的情况:

将“全盘访问”(在系统偏好设置 > 安全和隐私 > 隐私下)授予:-

  1. /usr/sbin/cron使用转到文件夹快捷方式“command + shift + G”
  2. 终端应用程序
于 2021-04-29T00:42:30.270 回答
2

您可以通过如下配置来检查运行 cron 时是否有任何错误。

*/1 * * * * cliclick -w 1 m:3,3 >> output.log 2>&1

最后一部分2>&1也将 STDERR 重定向到 output.log。

于 2019-12-01T07:44:02.667 回答