环境配置
压缩时需要使用7-zip进行调用,因此根据自己电脑进行安装
官网:https://www.7-zip.org/
脚本文件
新建记事本文件,重命名为git_back_up.bat
@echo off
rem 设置utf-8可以正常显示中文
chcp 65001 > nul
rem 获取当前日期和时间,并将其格式化为适合文件名的字符串
for /f "usebackq tokens=1,2 delims==" %%G in (`wmic OS Get LocalDateTime /VALUE`) do if '.%%G.'=='.LocalDateTime.' set datetime=%%H
set "datetime=%datetime:~0,8%-%datetime:~8,6%"
set "datetime=%datetime:.=-%"
rem 目标文件夹
set "sourceFolder=F:\gitblit\gitblit-1.9.3\projectcode"
rem 压缩后的文件
set "destinationZip=D:\git_backup\git-%datetime%.7z"
rem 备份的位置
set "destinationCopyNas188=Z:\00Development\git_backup"
rem 备份的位置
set "destinationCopy=Y:\00Development\git_backup"
echo 执行7-Zip压缩 %sourceFolder% 到 %destinationZip% ...
"C:\Program Files\7-Zip\7z.exe" a -t7z "%destinationZip%" "%sourceFolder%"
echo 压缩完成
echo 复制 %destinationZip% 到 %destinationCopyNas188% ...
copy "%destinationZip%" "%destinationCopyNas188%"
echo 复制完成
echo 复制 %destinationZip% 到 %destinationCopy% ...
copy "%destinationZip%" "%destinationCopy%"
echo 复制完成
rem 统计目录下文件数量
for %%F in ("%destinationCopy%\*") do (
set /a fileCountDestCopy+=1
)
for %%F in ("%destinationCopyNas188%\*") do (
set /a fileCountDestCopyNas188+=1
)
rem 发送消息到企业微信,这里可以修改为其他接口,例如邮箱等
set "webhookUrl=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*************"
set "message=# **git已备份**,本次备份文件名:git-%datetime%.7z\n ## 备份地址:192.168.0.7,备份数量:%fileCountDestCopy% \n ## 备份地址:nas188 ,备份数量:%fileCountDestCopyNas188% "
curl -k -H "Content-Type: application/json" -X POST -d "{\"msgtype\": \"markdown\", \"markdown\": {\"content\": \"%message%\"}}" "%webhookUrl%"
echo 已发送到企业微信
pause
设置定时备份任务
开始处右键–> 计算机管理 --> 系统工具 --> 任务计划程序 --> 任务计划程序库 --> 创建任务
定时任务触发的脚本