こじんてきメモ

趣味とか...(╹◡╹)

バッチでなるべく簡単にフルバックアップを取得する(導入)

ツイッターで、

「PC壊れた!」
「バックアップ?そんなの(知ら)ないよ!」

みたいなツイートをみたので、あまりパソコンに明るくない人でも調べたらなんとかできそうな感じで考えてみた。

フルバックアップとは
・バックアップ対象のデータを丸ごと保存する方法です。
・例えば毎日バックアップをとって、最新の7日分だけ残すようにする方法がそこそこ一般的かも?
 ※このような「〇日分が残っている」ようにする事を「バックアップの世代管理」とか言ったり言わなかったり。

・メリットとして...思い付かなかったのでググって下さい。個人的にはこれが一番好きな方法。
・デメリットとして、容量が多いほどバックアップに時間がかかるし、必要なHDDの容量も変わってくる。


ググったらもっと金かけた凄そうなのとか出るけど、基本原理は一緒だからそんな気にする必要はない。

というか、わざわざ御大層なアプリをインストールしてパソコンのリソース食わせたり、タスクスケジューラよりも面倒な設定したくない。

必要なもの

・新しいパソコン
・新品の1TB~のHDD
 ※バックアップ用なので、SSDである必要はないです。というかバックアップ用にSSDは勿体ない
 ※HDDの容量は、バックアップするフォルダの容量から計算しましょう。
 ※HDDの中のバックアップ以外のデータは消えるので、バックアップ専用のHDDにしましょう。
・データを失った悔しさ
ドデカミン

手順概要

・バックアップ用のハードディスクを繋げる
・バックアップ処理するバッチを作成する
・バッチをタスクスケジューラに登録する

注意

 バックアップ処理はパソコンを使っていない時間帯に設定しましょう。
 バックアップ中に作業を行っていると、バックアップが失敗する事が結構あります。

と、ここまで書いて時間がなったので、詳細な手順は欲しい人がいたらコメントお願いします。気づき次第のせます。
一応、パソコンにあまり明るくない人でもがんばってググればなんとかなる要素は書きました。


バックアップバッチは下記をコピペして下さい。
[backup.bat]

@echo off
title 定時バックアップ処理

echo ###################################
echo.
echo 定時バックアップ処理
echo.
echo ###################################

rem ####################################
rem 設定領域
rem 
rem ★バックアップするフォルダ
set BACKUP_FOLDER=C:\wo
rem ★バックアップ先のドライブ名
set DRIVE_NAME=D
rem ★残す世代数
set DATA_ERA=7
rem ####################################

%DRIVE_NAME%:

rem ファイル作成
set FNAME=%date:~0,4%%date:~5,2%%date:~8,2%
mkdir %FNAME%

rem バックアップ処理
robocopy %BACKUP_FOLDER% %FNAME% /s /e

rem 古い世代を削除
for /f "skip=%DATA_ERA% delims=" %%A in ('dir %DRIVE_NAME%:\ /B /O-D') do rd /s /q %%A
echo ------------------------------------------------------------------------------
echo 日次バックアップ処理が終わりました!


※Windows10 1903で作りました。多分Windows10ならどのバージョンでも行けるんじゃないかな。