robocopyで複数ドライブのバックアップ
毎日自動でバックアップしたい
普段メインPCのデータバックアップは月に一度程度のペースで外付けHDDにバックアップを行っているが、毎日自動でサーバーにバックアップしてくれたらより安心感があると思いrobocopyを使ってバックアップをすることとした
powershellでコマンドを書く
今回はpowershellで書くことにした。C,D,Eドライブをbackupフォルダにバックアップし、ログは日付ごとにbackup_logフォルダに格納するようにした
```ps
$BK_DATE = Get-Date -format yyyyMMdd
$BK_DRIVE = "C" , "D" , "E"
foreach ($DRIVE in $BK_DRIVE){
$get_dirs = Get-ChildItem ${DRIVE}:\
foreach ( $dir in $get_dirs ){
$From_dir = "${DRIVE}:\${dir}"
$To_dir = "\\SERVER\backup\desktop\${DRIVE}\${dir}"
$LOG = "\\SERVER\backup\desktop\backup_log\bk_${BK_DATE}_${DRIVE}_${dir}.log"
robocopy $From_dir $To_dir /mir /r:3 /w:0 /np /log:$LOG
}
}
```
オプションに `/copyall /ndl /r:3 /w:5 /xjd /xjf /zb `を付け加えたかったが、なぜかエラーでバックアップができなかった。上記のオプションで一応は問題なさそうなので、これをタスクスケジューラに登録しておけば毎日自動でバックアップができることになる