我正在尝试设置crontab
运行 shell 脚本,但由于某种原因,脚本无法执行。我的系统是 OS X 10.8.5。
crontab
文件
0 12 * * 1 /absolute/path/to/myscript.sh
0 15 * * 2 /absolute/path/to/myscript.sh
30 10 * * 3 /absolute/path/to/myscript.sh
0 18 * * 3 /absolute/path/to/myscript.sh
30 10 * * 4 /absolute/path/to/myscript.sh
我的脚本
#!/bin/sh
cd /Users/me/Documents/targetfile/ && git add . && git commit -m "Added notes for $(date)" && git push -u origin master
使用 shell 手动启动时,脚本运行良好,但在 Console.app 中仅生成以下条目:
launchctl: launchctl: Dubious permissions on file (skipping): /Library/LaunchAgents/com.adobe.AAM.Updater-1.0.plist
我已经执行了chmod 777 myscript.sh
错误文件.plist
,但无济于事。
编辑:ls -l /Library/LaunchAgents/com.adobe.AAM.Updater-1.0.plist
输出:
-rwxrwxrwx 1 root wheel 612 2 Aug 18:57 /Library/LaunchAgents/com.adobe.AAM.Updater-1.0.plist
和ls -ld /Library/LaunchAgents
drwxr-xr-x 22 root wheel 748 10 Sep 21:12 /Library/LaunchAgents
我确实使用 root 设置了 crontab,但我完全不知道该 plist 与我要执行的脚本有什么关系。
我的设置有什么问题?
答案1
添加到您的 crontab 行:&>/tmp/myscript.log
例如 :
0 12 * * 1 /absolute/path/to/myscript.sh &>/tmp/myscript.log
并等待脚本执行并检查 myscript 日志,我假设可能的错误是“未找到 git 命令”或“未找到 cd 命令”,如果是这种情况,那么您必须通过“find”或“locate”找到这些命令的完整路径并输入其完整路径,例如而不是cd
使用/path_to_cd/cd
等。