こんにちは。
ぶんじゃくです。梅雨に入り蒸し暑くなってきた今日この頃、皆さんいかがお過ごしでしょうか。
今回は、私がHDDのバックアップを行った際少しつまづいた話をしようと思います。
私はWindowsのタスクスケジューラ機能を使用し、毎日決まった時間に指定したフォルダのバックアップを別のHDDにとるようにしているのですが、ある日それが機能していないことに気づきました。
ある程度どうやっているか説明は割愛していくのですが、主にはバッチを起動しrobocopyでファイルをミラーリングしています。
すると、とある大きなファイル(動画等)でこけていることに気づきました。
なぜだろう?と調べると、バックアップ先のHDDのフォーマット形式がexFATで、何かのファイルが壊れて修復できないことがわかりました。
そこで、バックアップ先のHDDをNTSF形式にフォーマットすることにしました。(どうせWindowsでしか使わないし)
フォーマットするということは、一旦データを全削除することになるのですが、これは非常に時間がかかりました。
そして、ようやく終わったかと思い、再びバックアップをしようとバッチを走らせたらrobocopyでエラー。
調べたところ、権限がないということでした。
NTSF形式の場合、ファイルを書き込む際書き込み主が適切な権限を持っているのかが確認されるようです。
つまり簡単に言えば管理者権限で書き込めば済む話なのですが、タスクスケジューラからのバッチ起動時に管理者権限で起動していないため、エラーが起こるようです。
/COPYのオプションで権限関連のオプションを指定できることも調べ、考えましたが、結果バッチを管理者権限で起動するよう修正を加えました。
バックアップ開始時間になるといちいち「管理者権限で起動してよいか」と問われますが、むしろ明示的にそれを行いたいと考えたため、私の場合はそのように解決することにしました。
そして結果ですが、うまくいきました。
問い合わせがめんどくさいな、と思ってきたらまた修正をするかもしれません。
今回は以上になります。
皆さんもHDDのフォーマット形式については一度ご確認くださいね。
あとからフォーマットするにはデータ全消しと長い時間を要します。
お気を付けください。
それでは、さようなら。