フォルダを任意のタイミングでバックアップするバッチファイル

後輩が、ウェブサイトコーディング中に、トラブルがあってバックアップしたファイルで巻き戻したとき、別のコードが消えているという2次被害を何度か起こしていた。気づいたことを本人に聞いたところ、「想定したよりバックアップの機会が少なかったから、起きた気がする。」とあった。そのため、バックアップ自体を簡単にしてみることにした。圧縮には7zip を使うので、事前にインストールすること。

参照

cmdのbatを使ってフォルダをCOPYして7zipで圧縮し最後に削除する方法 これくらいブログ
http://korekurai.com/itrelated/cmd-bat-7zip-folder.html

注意

手元の環境で実装するなら、まず空のフォルダで試すこと。安全に失敗するのが推奨される。

構造

バックアップ元

バックアップ先

backup_myfolder.bat

内訳

  1. DATENAME に年月日と時間の値を設定
  2. SOURCEPATH にバックアップ元のパスを設定
  3. TARGETZIP で圧縮ファイル名に年月日と時間を加える
  4. TARGETPATH にバックアップ先のパスを設定
  5. TARGETDIR にバックアップするフォルダ名を設定
  6. XCOPY でフォルダをコピー
  7. 7ZIP でコピーしたフォルダを圧縮
  8. rmdir で圧縮元フォルダを削除
  9. 最後に、バックアップの動作が行われたかを3秒だけ表示する

まとめ

動作テストして、問題がなければ対象フォルダの中身を入れよう。
作成したバッチファイルをランチャーに入れれば、任意のタイミングでバックアップできる。Windows のタスクに設定すれば、起動時や休憩時間にバックアップを自動でバックアップできるようになる。
コーディングが終われば、バッチファイルを解除しよう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください