Windows环境下通过 系统定时 执行脚本方式 压缩并备份文件夹 到其他数据盘

环境配置

压缩时需要使用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定时任务报错:操作员或系统管理员拒绝了请求
在这里插入图片描述

问题解决

打开“控制面板->管理工具->本地安全策略”,选择“安全设置->本地策略->安全选项”,在右边列表中找到“域控制器:允许服务器操作者计划任务”,将状态改为“已启用”。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29864051/article/details/132174208