【问题标题】:Automatically updating git repository using crontab使用 crontab 自动更新 git 存储库
【发布时间】:2020-09-23 05:49:56
【问题描述】:

我正在尝试将我每天手工完成的工作自动化。我最终编写了一个 sh 脚本来推送一个 git 存储库。

脚本位于/home/autogit-project.sh

看起来像这样:

#!/bin/sh
cd /var/www/project

git add *
timestamp(){
   date +"%d.%m.%Y um %H:%M"
}
git commit -am "Auto Server Commit $(timestamp)"
git push --repo https://[user]:[password]@github.com/[organisation]/[repo].git

通过$ sh autogit-project.sh 运行脚本时,它可以工作。

出于测试目的,我想每分钟运行一次脚本。我的 Crontab 看起来像这样:

@daily /home/anotherscriptthatworks.sh
* * * * * /home/autogit-project.sh

anotherscriptthatworks.sh在同一目录下,用户权限相同。该脚本写入一个日志文件,所以我知道它有效。但是我的autogit-project.sh 没有,我正在努力找出原因。非常欢迎任何想法或帮助。

【问题讨论】:

    标签: git cron sh


    【解决方案1】:

    首先,您必须确保autogit-project.sh 具有执行权限

    chmod a+x autogit-project.sh
    

    其次,你可以将cron任务写成如下形式(运行crontab -e并粘贴下面的cronjob)

    * * * * * /bin/bash -l -c 'cd /var/www/project && ./autogit-project.sh >> /home/cron_log.log 2>&1'
    

    您可以通过预期检查应该运行任务的用户的 cron 作业

    crontab -l 
    or 
    crontab -l -u $user_name
    

    【讨论】:

    • 感谢您的回答。修复执行权限后一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 2018-08-07
    • 2014-09-06
    • 2015-07-16
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多