Created
May 30, 2013 06:03
-
-
Save t2psyto/5675962 to your computer and use it in GitHub Desktop.
backup script using robocopy
with mail notify.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rem パックアップパラメータ バックアップ元/先「SRC → TARGET」 | |
set SRC=\\server\share | |
set TARGET=D:\backup_data | |
rem timestamp -> YYMMDDhhmmss | |
rem 時刻1桁のゼロ埋め ex) " 9:00:00.00" -> "09:00:00.00" | |
set timetemp=%time: =0% | |
set timesec=%timetemp::=% | |
set timestamp=%date:/=%%timesec:~0,6% | |
rem execfilename -> このバッチファイルの名前(拡張子なし) | |
set execfilename=%~n0 | |
rem ログファイル | |
set LOGFILE=d:\log\%timestamp%_%execfilename%.log | |
rem バックアップ実行 | |
robocopy %SRC% %TARGET% /ZB /NFL /NDL /NP /LOG:"%LOGFILE%" /R:0 /W:1 /MIR /COPYALL /DCOPY:T /E | |
rem /ZB : 再起動可能モードを使用し、アクセスが拒否された場合はバックアップモードを使用する | |
rem /NFL : ファイル名をログに記録しない | |
rem /NDL : ディレクトリ名をログに記録しない | |
rem ※ /NFL /NDL 指定すると、正常コピーorスキップファイルは表示しない。 | |
rem ※ エラーファイルorコピー先にのみ存在するファイルは表示する。 | |
rem /NP : コピーの完了率を表示しない | |
rem /LOG : ログファイルに状態を出力する(既存ファイルを上書く) | |
rem /R:0 : コピーが失敗した場合の再試行数を指定する(既定値:1,000,000 回) | |
rem /W:1 : 再試行の間の待機時間を指定する(既定値:30 秒) | |
rem /MIR : ディレクトリツリーをミラー化する | |
rem /COPY:Flag : ファイルにコピーする情報を指定する(既定値は/COPY:DAT) | |
rem コピーフラグ D データ, A 属性, T タイムスタンプ, S セキュリティ(NTFS ACL),O 所有者情報, U 監査情報 | |
rem /COPYALL : ファイル情報をすべてコピーする(=/COPY:DATSOU) | |
rem /DCOPY:T : ディレクトリにコピーする情報を指定する(既定値は/DCOPY:DA) | |
rem コピーフラグ D データ, A 属性, T タイムスタンプ | |
rem /E : 空のディレクトリを含むサブディレクトリをコピーする | |
rem /FFT タイムスタンプ精度を2秒としてコピーする(FATなどに利用) | |
rem メール通知パラメータ | |
set MAIL_FROM="robocopy <anonymous@example.org>" | |
set MAIL_TO=anonymous@example.org,example.org | |
set SMTPHOST=mail.example.org | |
set SUBJECT="バックアップ通知 %execfilename% %timestamp%" | |
rem メール通知コマンド(smail) | |
rem require smail.exe ( http://dip.picolix.jp/disp2.html ) | |
d:\tools\smail.exe -h%SMTPHOST% -f%MAIL_FROM% -s%SUBJECT% -F%LOGFILE% %MAIL_TO% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment