crontab 不是 运行 local/bin/ 脚本。卡塔利娜,大苏尔
Crontab is not running local/bin/ script. Catalina, BigSur
我刚开始使用 crontab,但遇到了一些问题。我已经阅读了一些关于如何在 macOS 上使用它的帖子,但它仍然无法正常工作。
所以,
我写 crontab -e
,然后将其编辑为
*/1 * * * * cliclick -w 1 m:3,3
(例如)- 这意味着每 1 分钟在 x=3;y=3 中重复点击。
一切都没有改变。
但是,当我从终端仅使用此命令时,一切正常。
我已经尝试创建一个 script.sh
文件,但情况相同:手动命令有效,crontab 无效。
也许,我做错了什么?
更新:crontab 具有完整的磁盘访问权限。
更新 2:
我尝试在 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(和其他)不可能 虽然 crontab
:https://github.com/BlueM/cliclick/issues/103
您可以通过如下配置检查 运行 cron 是否有任何错误。
*/1 * * * * cliclick -w 1 m:3,3 >> output.log 2>&1
最后一部分 2>&1
也会将 STDERR 重定向到 output.log。
授予 terminal.app
完整磁盘访问权限。
您需要在“设置”>“安全和隐私”>“隐私”中为 terminal.app
授权完整磁盘访问。
我的问题是,cron 无法访问磁盘,因此它无法 运行 我的脚本。我必须为 /usr/sbin/cron
授予完整磁盘访问权限
查看此博客 post:https://blog.bejarano.io/fixing-cron-jobs-in-mojave/
(macOS Big Sur 版本 11.2.3)
首先你必须使用 crontab -l
.
验证 cron 是否存在
创建完 cronjob 后,您会看到类似“crontab:正在安装新的 crontab”的内容。 (如果您没有看到此消息,则表示该职位尚未创建,并且不会在您 运行 crontab -l
时显示)
为了确保 cronjob 执行,我必须按照 @roNn23 和 @berkinet 的建议进行操作。详细说明以防链接文章失效:
将“完整磁盘访问权限”(在“系统偏好设置”>“安全和隐私”>“隐私”下)授予:-
/usr/sbin/cron
使用转到文件夹 快捷方式“command + shift + G”
- Terminal.app
我刚开始使用 crontab,但遇到了一些问题。我已经阅读了一些关于如何在 macOS 上使用它的帖子,但它仍然无法正常工作。
所以,
我写 crontab -e
,然后将其编辑为
*/1 * * * * cliclick -w 1 m:3,3
(例如)- 这意味着每 1 分钟在 x=3;y=3 中重复点击。
一切都没有改变。
但是,当我从终端仅使用此命令时,一切正常。
我已经尝试创建一个 script.sh
文件,但情况相同:手动命令有效,crontab 无效。
也许,我做错了什么? 更新:crontab 具有完整的磁盘访问权限。
更新 2:
我尝试在 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(和其他)不可能 虽然 crontab
:https://github.com/BlueM/cliclick/issues/103
您可以通过如下配置检查 运行 cron 是否有任何错误。
*/1 * * * * cliclick -w 1 m:3,3 >> output.log 2>&1
最后一部分 2>&1
也会将 STDERR 重定向到 output.log。
授予 terminal.app
完整磁盘访问权限。
您需要在“设置”>“安全和隐私”>“隐私”中为 terminal.app
授权完整磁盘访问。
我的问题是,cron 无法访问磁盘,因此它无法 运行 我的脚本。我必须为 /usr/sbin/cron
查看此博客 post:https://blog.bejarano.io/fixing-cron-jobs-in-mojave/
(macOS Big Sur 版本 11.2.3)
首先你必须使用 crontab -l
.
创建完 cronjob 后,您会看到类似“crontab:正在安装新的 crontab”的内容。 (如果您没有看到此消息,则表示该职位尚未创建,并且不会在您 运行 crontab -l
时显示)
为了确保 cronjob 执行,我必须按照 @roNn23 和 @berkinet 的建议进行操作。详细说明以防链接文章失效:
将“完整磁盘访问权限”(在“系统偏好设置”>“安全和隐私”>“隐私”下)授予:-
/usr/sbin/cron
使用转到文件夹 快捷方式“command + shift + G”- Terminal.app