2つの場所で同期とバックアップを行うバッチBatスクリプト
2797 ワード
最近、兼職でドキュメントサーバーをメンテナンスするため、両地のドキュメントを同期とバックアップする必要があります.サーバーのドキュメントが変更された場合、自動的に別のサーバーに同期する必要があります.
バッチbatスクリプトを使用してループします.
ループbatスクリプトはsyncを呼び出す.bat、SyncToyツールを使用して資料の同期を行います.
バッチbatスクリプトを使用してループします.
@echo off
title SyncToy run in progress...
goto BEGIN
:COMMENT
echo ##############################################
rem while_sync_loop.bat
rem By long.luo @2012/09/06
rem
rem :
rem , .
rem
echo ##############################################
pause
:BEGIN
echo ##############################################
echo Sync Files Loop begin...
echo
goto DELSYNCLOG
:DELSYNCLOG
echo ##############################################
echo Delete lastsync.log
del lastsync.log
goto ONE_TIME
:SEND_RTX_NOTOFY
echo SEND_RTX_NOTOFY
...
call send_rtx_msg.bat
goto ONE_TIME
pause
:CHECKSYNC
echo CHECKSYNC...
for /f "tokens=*" %%i in ('findstr /i "Copied.*bytes" lastsync.log') do (
for /f "tokens=2" %%j in ("%%i") do if %%j gtr 0 (echo %%j bytes files had synced.&goto SEND_RTX_NOTOFY) else echo NO Need synced.&goto ONE_TIME
)
pause
:ONE_TIME
echo Attempting files sync. Please wait...
call sync.bat >lastsync.log
echo sync end.
goto CHECKSYNC
ping 127.0.0.1 -n 30 >nul
goto DELSYNCLOG
ループbatスクリプトはsyncを呼び出す.bat、SyncToyツールを使用して資料の同期を行います.
@echo off
goto BEGIN
:COMMENT
echo ##############################################
rem sync.bat
rem By long.luo @2012/09/06
rem
rem :
rem 、 .
rem
echo ##############################################
pause
:BEGIN
echo SyncToy Log starting at
time /T
date /T
echo ##############################################
echo Checking connection to Changan Server...
echo ##############################################
PING -n 2 -w 10 172.16.101.136 |find "TTL=" && goto CHECKFOLDER
goto PINGFAIL
:CHECKFOLDER
echo ##############################################
echo ChangAn Server is online. Checking for Folder...
if exist F:\f_sync_files\ goto SYNC
goto CHECKFOLDERFAIL
:SYNC
echo ##############################################
echo Begin syncing files...
echo ##############################################
"F:\Program Files\SyncToy 2.1\SyncToyCmd" -R "MyTest"
if %ERRORLEVEL% == 0 goto SUCCESS
goto SYNCFAIL
:PINGFAIL
echo ##############################################
echo ChangAn Server not found. Exiting
goto END
:CHECKFOLDERFAIL
echo ##############################################
echo FOLDER not found. Exiting
goto END
:SUCCESS
echo ##############################################
echo SyncToy completed successfully. Exiting
goto END
:SYNCFAIL
echo ##############################################
echo SyncToy Failed. Exiting
goto END
:END
echo ##############################################
echo SyncToy Log ending at
time /T
date /T