脚本通过命令行运行,但不在 cron 作业中运行

脚本通过命令行运行,但不在 cron 作业中运行

不确定我做错了什么,我尝试运行这个 cron 作业,它应该运行这个脚本 (test.sh),它将我的照片从一个文件夹复制到一个 tmp 文件夹,但 cron 作业不起作用,除非它在我的主目录中(或任何目录,当你只是执行“cd”时)我尝试了以下操作,它通过命令行工作,但不在 cron 上,有人能帮忙吗。这是在 Mac OS 上,使用最新的 sw 更新

*/1 * * * *  cd Desktop && ./test.sh

我也尝试过绝对路径

 */1 * * * * /Users/helpme/Desktop/test.sh

我的 test.sh 代码如下:

#!/bin/bash 
rsync /Users/helpme/Desktop/test/* /Users/helpme/Desktop/tmp/ 

当我的 crontab -e 中有以下内容时

*/1 * * * * /bin/bash '/Users/helpme/Desktop/test.sh' >> /Users/helpme/Desktop/backup.log 2>&1

我的日志文件中出现以下内容 /bin/bash: /Users/helpme/Desktop/test.sh: Operation not permitted

查找了错误,将我的隐私更改为完整磁盘,但仍然出现相同的错误

更新:感谢评论下方的匿名用户提供解决问题的文章。请确保添加 cron 以获得完全磁盘访问权限。 https://osxdaily.com/2020/04/27/fix-cron-permissions-macos-full-disk-access/

答案1

听起来您的脚本在当前目录而不是绝对路径上运行。在这种情况下,结果取决于它所在的位置。考虑将代码添加到问题中,以便我们提供帮助。

相关内容