我正在尝试创建一个在crontab中运行的脚本,但是当我尝试在crontab守护程序下使用它时,我遇到了命令位置的问题。
已经使用脚本进行了一些测试,似乎工作正常。
就是这样:
# I add this cd because of crontab location
cd ~/Documents/gitrepobackup/
find . -type d -depth 1 -exec git --git-dir={} --work-tree=$PWD/{} fetch origin \; >> git_backup_update.log 2>&1
这是我在该日志中收到的输出:
find: git: No such file or directory
这也是我在crontab中添加的条目:
* * * * * ~/Documents/gitrepobackup/git_backup_update.sh
任何?
答案 0 :(得分:0)
您可以在http://man.cx/crontab(5)阅读,PATH
环境变量设置为/usr/bin:/bin
。如果git
不在其中一个位置,则您的脚本将找不到它。如果您想要自己的PATH
环境变量集,则可以对其进行配置,或者使用在PATH
中找不到的可执行文件的绝对路径。
答案 1 :(得分:0)
还有其他方法可以做到这一点,但由于我只有git的问题,我做了,
which git
发现它的位置,然后在git上添加位置,
find . -type d -depth 1 -exec /usr/local/git/bin/git --git-dir={} --work-tree=$PWD/{} fetch origin \; >> git_backup_update.log 2>&1