脚本:
@echo off
set "source_folder=D:\OracleLog"
set "destination_server=192.168.1.10"
set "destination_username=root"
set "destination_password=password"
set "destination_path=/home/backup"
REM 获取当前日期,并计算一星期前的日期
for /F "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "timestamp=%dt:~0,8%"
set "week_ago=%timestamp%-0700"
REM 获取一星期前的日期字符串
for /F "tokens=1-4 delims=/:," %%a in ("%week_ago%") do (
set /A "hours=(((%%a*60)+1%%b %% 1440)-3)*60, minutes=(((%%a*60)+1%%b %% 1440)-3)%%, seconds=(%%c*600)+%%d"
)
set "week_ago_date=%%d%%b%%a"
REM 构建目标文件夹路径
set "destination_folder=%destination_path%\%week_ago_date%"
REM 复制文件到远程服务器
xcopy /Y /E /I "%source_folder%" "\\%destination_server%\%destination_folder%"
REM 检查文件是否传输成功
if %errorlevel% equ 0 (
echo 文件传输成功!
) else (
echo 文件传输失败!
)
注意事项:
请确保将D:\OracleLog
替换为实际要迁移文件的文件夹路径,并将192.168.1.10
、root
、password
和/home/backup
替换为实际的远程服务器信息。此脚本使用xcopy
命令将文件复制到远程服务器,并检查是否传输成功。然后,它会在凌晨3点执行,通过计划任务来实现。
要设置计划任务,请按照以下步骤操作:
- 打开Windows任务计划程序(在“开始”菜单中搜索“任务计划程序”)。
- 在左侧导航栏中,选择“创建任务”。
- 在“常规”选项卡中,输入任务的名称和描述。
- 在“触发器”选项卡中,点击“新建”并设置在凌晨3点触发任务。
- 在“操作”选项卡中,点击“新建”并选择“启动程序”。浏览选择包含脚本的批处理文件。
- 点击“确定”保存任务计划程序。