前期准备

安装git

克隆git仓库到指定目录下,我这里是/dev/2023.git

git clone http://用户名:用户密码@xx.host.com/zzz/2023.git


制作执行脚本 auto-push.sh

#!/bin/bash

git_push(){
    echo "开始push"
    cd ${1}

    date=`date "+%Y-%m-%d %H:%M:%S"`
    git add . 
    git commit -m "automatic push @$(date)"

    echo "git push origin master:master"
    git push origin master:master
}

git_push /dev/2023.git

这里参考了网上其他,地址如下

https://cloud.tencent.com/developer/article/1179839

文章中还有判定文件夹是否有变动的过程,但经过测试,子文件添加文件,父文件夹的修改时间并不变

另外在push之前可以拖一次,如下

echo "git fetch origin master"
git fetch origin master

echo "git merge origin/master"
git merge origin/master

配置并执行cron定时任务

打开配置编辑

crontab  -e

这个时候可能会让你选择一个编辑器,选择一个即可

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

在文件底部增加一行,保存退出

*/5 * * * * /bin/sh /dev/2023/auto-push.sh

这里注意,最前的那段是分,而不是秒,即上面的表示每5分钟执行一次

重启cron服务

/etc/init.d/cron restart

结束