出于想使用 Vnote + GitHub 记录工作笔记的原因,网上找脚本修改下…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
git_push(){
echo "开始push"
cd ${1}
echo "-------切换目录------"
echo `pwd`
echo "---------------------"
if [ -n "$(git status -s)" ];
then
echo "${1} 文件夹 有变化,正在准备push..."
date=`date "+%Y-%m-%d %H:%M:%S"`
git add .
git commit -m "automatic push @$(date)"
echo "git fetch origin master"
git fetch origin master
echo "git merge origin/master"
git merge origin/master
echo "git push origin master:master"
git push origin master:master
fi
}
git_push ~/IdeaProjects/20210729/src/ttt
脚本主要参考文章ubuntu自动push到github脚本,文中定时任务使用cron服务实现,我这里就直接贴过来了(#^.^#)
1
2
3
4
5
6
7
8
编辑定时任务文件
(https://blog.csdn.net/xiyuan1999/article/details/8160998) <- linux定时任务的设置 crontab 配置指南
crontab -e
在文件的末尾添加:
30 5 * * * /bin/sh /home/mianhk/shell/auto_push.sh | tee ~/auto_push.log //表示在每天的 5.30执行
启动服务
/etc/init.d/cron start
坑:
stat -c %Y ${1}
Mac 上无法使用,没有-c 的选项