我有一个脚本git-test
,用于访问本地 git repo 并调用git shortlog
以跟踪最近的更改。出于测试目的,我仅使用了以下几行:
#!/bin/bash
cd /myrepo.git
result="$(/usr/bin/git shortlog -3)"
echo "$(date):$result" >> /tmp/git-log
crontab 条目是
* * * * * /home/username/git-test >> /tmp/cron-output 2>&1
我试过:
- 从终端调用脚本 -> 运行正常,获取 git 短日志
- 从 cron 调用脚本,如上所示 -> 没有 git 输出,
/tmp/git-log
也没有错误/tmp/cron-output
- 从 cron 调用脚本,但执行 a
$(ls -lh)"
而不是$(/usr/bin git shortlog -3)
-> 执行得很好 - 从 cron 调用脚本,直接写入文件
git shortlog -3 >> /tmp/git-log
-> 没有 git 输出,/tmp/git-log
也没有错误/tmp/cron-output
- 将 git
cd /myrepo.git;git shortlog -3 >> /tmp/cron-output 2>&1
直接放入 crontab 中->无输出,无错误/tmp/cron-output
您知道可能是什么问题吗?
谢谢你!