环境配置
压缩时需要使用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 已发送到企业微信
设置本地安全策略
注意:如果不设置可能会导致定时任务无法执行
开“控制面板->管理工具->本地安全策略”,选择“安全设置->本地策略->安全选项”,在右边列表中找到“域控制器:允许服务器操作者计划任务”,将状态改为“已启用”。
设置定时备份任务
开始处右键–> 计算机管理 --> 系统工具 --> 任务计划程序 --> 任务计划程序库 --> 创建任务
定时任务触发的脚本
操作员或系统管理员拒绝了请求(0x800710E0)
问题描述
win10定时任务报错:操作员或系统管理员拒绝了请求
问题解决
打开“控制面板->管理工具->本地安全策略”,选择“安全设置->本地策略->安全选项”,在右边列表中找到“域控制器:允许服务器操作者计划任务”,将状态改为“已启用”。