自动备份shell github

时间:2013-05-13 03:12:40

标签: github backup cron-task

我写了一个脚本来自动备份网站,这个脚本会将资源推送到 github 。我在 crontab 中编写了一些代码,让它自动执行。但是,我不知道为什么资源无法推动。

我可以看到来自.git的头部已被修改(这意味着成功提交)。我想问题是用户名不正确。

以下信息是自动备份脚本的输出。

Committer: root <root@xxxx.(none)>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:    
    git config --global user.name "Your Name"
    git config --global user.email you@example.com    
After doing this, you may fix the identity used for this commit with:    
    git commit --amend --reset-author    
 1 file changed, 14 insertions(+), 14 deletions(-)

我该如何处理?

crontab中的命令:

*/2 * * * * root /var/backWiki.sh >/home/xxx/Tmp/4.txt

以下是此shell脚本的主要部分:


git pull originTyl master
git add -A
echo '2'
git commit -a -m $nowtime
echo '1'
git push originTyl master
echo '3'

origninTyl表示:


`[remote "originTyl"]`
`url = https://accoutName:password@github.com/xxxx/xxxx.git`
`fetch = +refs/heads/*:refs/remotes/originTyl/*`

1 个答案:

答案 0 :(得分:0)

您应首先在自己的帐户下测试该脚本,其中必须正确设置git config user.nameuser.email

然后,您应该在脚本cron前面注册,确保它是executed as you, not as rooteach user having his/her own crontab

  

以其他用户身份运行cron个工作:

su - <user> -c <command or script>

OP Yulong Tian确认in the comments

  

我通过在crontab中更改用户(而不是之前的root)解决了我的问题。