需求是定期备份某个远程目录文件,增量备份。
以下内容为脚本,请作为批处理脚本使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| @echo off
chcp 65001 >nul
:: Configuration
set SRC="\\192.168.1.1\财务部"
set DEST="D:\Backup"
set LOG="D:\Backup\finance_backup.log"
echo ============================================== >> %LOG%
echo Start Time: %date% %time% >> %LOG%
:: Check if Source is accessible before mirroring to prevent accidental wipes
if not exist %SRC% (
echo ERROR: Source path not found. Aborting to protect backup. >> %LOG%
exit /b 1
)
:: Run Robocopy
:: /MIR : Mirroring (CAUTION: Deletes files in DEST not in SRC)
:: /Z : Restartable mode (good for large files/network drops)
:: /FFT : Assume FAT File Times (better for network/NAS compatibility)
:: /R:2 : Retry twice on fail
:: /W:5 : Wait 5 seconds between retries
:: /NP : No Progress (keeps log file clean)
:: /MT:8 : Multi-threaded (Optional: speeds up transfer of many small files)
robocopy %SRC% %DEST% /MIR /Z /FFT /R:2 /W:5 /NP /MT:8 /LOG+:%LOG%
set RC=%ERRORLEVEL%
echo End Time: %date% %time% >> %LOG%
echo Robocopy ExitCode=%RC% >> %LOG%
echo ============================================== >> %LOG%
:: Return success if RC is less than 8
if %RC% LSS 8 (exit /b 0) else (exit /b %RC%)
...
|