毕设论文定时备份脚本

最近一直在搞毕设论文,在gitee上边建了一个私有仓库,然后每天把毕设论文推送上去,这样子省的万一什么时候电脑gg了不至于数据全都丢了。但是有的时候会忘记同步,因此就写了个小脚本每天定时的去同步一下。


原理

因为每次提交其实就只是重复的执行git指令:

1
2
3
git add .
git commit -m "message"
git push

所以只需要写一段批处理脚本让它可以执行这几个命令,再将这些命令定时执行就好了。

在windows系统中,已经提供了定时执行任务的功能(直接搜任务计划程序):
定时任务
它可以使得程序在某个特定条件被触发的时候执行。

批处理脚本

首先新建一个配置文件config.ini,用来存放本地路径和远程仓库的地址:

1
2
REMOTE_PATH=远程git仓库的地址
LOCAL_PATH=本地论文所在文件夹的路径

接下来新建一个批处理文件auto-backup.cmd:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
chcp 65001

for /f "tokens=1,2 delims==" %%i in (%~dp0/config.ini) do (
set %%i=%%j
)

echo %REMOTE_PATH%
cd /d %LOCAL_PATH%

if exist ./.git (
git add .
git commit -m "备份: %date%"
git push origin master
) else (
git init
git add .
git commit -m "初始化"
git remote add origin %REMOTE_PATH%
git push -u origin master
)

echo done

这段脚本首先将字符集编码设置成了UTF-8编码(不然中文会乱码),接下来读取了配置文件的参数,最后判断本地论文路径是否存在git仓库,如果有的话,就进行提交,如果没有的话,就新建一个git仓库。它可以帮我们完成自动提交的命令,接下来只需要设置定时执行这段脚本了。编写完成后,可以先双击执行测试一下。一般情况下是可以正常执行的。

设置定时执行

在任务计划程序的窗口中点击右侧创建基本任务,就可以创建一个计划任务:
创建基本任务

触发器指的是任务执行的条件,在这里设置一个定时时间就好了:
触发器

触发器

接下来设置一下触发器被触发时的操作,我们这里就是启动程序,并把脚本的路径复制进去就好了:
操作
程序

最后是完成。完成之后,点击任务计划程序库,就可以看到刚才添加的任务了:
完成

这样就再也不怕忘记备份论文啦:
结果


github地址

gitee地址