简单git项目定时提交

建立shell脚本

#! /usr/bin/env bash
base_dir="/home"
proj_name="alicloud" # 项目名称
log_dir="/home/scheduler"
log_name="ghost_logs.txt" # 提交纪录的log
# cd "$base_dir"

# echo $base_dir

now_date=`date '+%Y-%m-%d %H:%M:%S'`
today=`date '+%Y_%m_%d'`


if [ ! -f "$log_dir/$log_name" ]; then  
    touch "$log_dir/$log_name"
fi
echo -e >> "$log_dir/$log_name"

if [ -d "$base_dir/$proj_name" ]; then 
    echo "$now_date 进项目" >> "$log_dir/$log_name"
    cd "$base_dir/$proj_name"
else 
    echo "$now_date dir not found" >> "$log_dir/$log_name"
    exit 1
fi

# echo `git status` >> "$log_dir/$log_name"
git add .
if [ $? -eq 0 ]; then 
    echo add success >> "$log_dir/$log_name"
else 
    echo add fail >> "$log_dir/$log_name"
    exit 1
fi

git commit -m "自动提交$today"
if [ $? -eq 0 ]; then 
    echo "commit success"  >> "$log_dir/$log_name"
else 
    echo "commit fail"  >> "$log_dir/$log_name"
    exit 1
fi


git push origin master
if [ $? -eq 0 ]; then 
    echo "push success"  >> "$log_dir/$log_name"
else 
    echo "push fail"  >> "$log_dir/$log_name"
    exit 1
fi

crontab设置定时任务

crontab -e 在其中创建定时任务, 有三分钟延迟
crontab –e //修改 crontab 文件,如果文件不存在会自动创建。
crontab –l //显示 crontab 文件。
crontab -r //删除 crontab 文件。
crontab -ir //删除 crontab 文件前提醒用

59 23 * * * bash /home/scheduler/ghost.sh # 晚上11点59提交

crontab工具网址