我想使用cron作业提交一些文件更改,使用root crontab中的以下行调用脚本
0 * * * * cd /files/ && ./backup.sh >/tmp/cronlog 2>/tmp/cronerror
脚本如下所示:
#!/usr/bin/env bash
… prepare the files for the backup …
echo "commit changes …"
git add -u
git commit -m "backup"
git push
在cron设置之前,我还为root用户设置了user.email
和user.name
,如果从命令行调用,我检查脚本是否运行。
但在/tmp/cronerror
我收到以下众所周知的消息。
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
…
我也尝试在脚本中设置HOME=/root
,但这不会产生影响。
有没有办法告诉git命令在cron作业中运行时在哪里找到全局git-config?
答案 0 :(得分:1)
我的解决方案是使用git config …
而不使用--global
选项将配置存储在当前存储库中,git可以在其中找到它。