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 `を付け加えたかったが、なぜかエラーでバックアップができなかった。上記のオプションで一応は問題なさそうなので、これをタスクスケジューラに登録しておけば毎日自動でバックアップができることになる

人気の投稿