Home > Latest topics

Latest topics > Windows Vista Home Premium以下のエディションでうそっこシャドウコピーとうそっこComplete PCバックアップを追加出費0で実現してみようという試み

宣伝1。Firefox Hacks Rebooted発売中。本書の1/3を使って、再起動不要なアドオンの作り方のテクニックや非同期処理の効率のいい書き方などを解説しています。既刊のFirefox 3 Hacks拡張機能開発チュートリアルと併せてどうぞ。

Firefox Hacks Rebooted ―Mozillaテクノロジ徹底活用テクニック
浅井 智也 池田 譲治 小山田 昌史 五味渕 大賀 下田 洋志 寺田 真 松澤 太郎
オライリージャパン

宣伝2。日経Linux 2011年9月号から、Linuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。そちらもよろしく。

Windows Vista Home Premium以下のエディションでうそっこシャドウコピーとうそっこComplete PCバックアップを追加出費0で実現してみようという試み - Mar 10, 2009

旧題:robocopyとcygwinとタスクスケジューラでWindows Vistaを3世代バックアップのまとめ。

Vistaの標準コマンドのrobocopyシンボリックリンクを除外してミラーリングできることが分かったってことで、とりあえずこんな風にしてみた。前提は以下の通り。

  • バックアップ対象はCドライブ全部。
  • Zドライブは全部バックアップ用。
  • Zドライブのルート直下に「backup1」「backup2」「backup3」の3つのフォルダがある。
  • backup1→backup2→backup3→backup1→backup2……とローテーションでミラーリングする。

シェルスクリプトはこう。

#!/bin/sh

# 日付を含んだ名前のフォルダにする
destdirname=backup`date +%Y-%m-%d_%H-%M-%S`

destparentdir=/cygdrive/z
# robocopyに渡すためのWindows形式のパス。(ひょっとして不要?)
destparentdir_win=z:\\

# 最終更新日が一番古いフォルダの名前を取得する。
cd ${destparentdir}
targetdirname=`ls backup* -drt | grep -m1 "^backup"`

# で、それを日付を含んだ名前に変える。
mv "./${targetdirname}" "./${destdirname}"

destdir=${destparentdir}/${destdirname}
destdir_win=${destparentdir_win}\\${destdirname}

echo "backup to ${destdir_win}"

# Cドライブバックアップ用のフォルダがなければ作成。
# (後から他のドライブのバックアップも取りたくなった時のため)
if [ -d "$destdir/c" ]
then
  echo "old backup exists"
else
  mkdir "$destdir/c"
fi

# 古いログを削除。
rm ${destdir}/log.txt

# robocopyでミラーリング。
#  * シンボリックリンクは除外(/XJD、/XJF)
#  * リトライはしない
#  * ログをファイルに出力
robocopy /MIR /ZB /SEC /SECFIX /XJD /XJF /R:0 /LOG:${destdir_win}\\log.txt "c:\\" "${destdir_win}\\c\\"

exit

シェルスクリプトは改行コードをLFにしとかないとbashがエラーを起こすので、気をつけないといけない。いつもそれを忘れてミスる。

で、タスクスケジューラで時々走らせる(bash.exeの引数にスクリプトを渡す)。とりあえずテストって事で3日に1回やってみよう。バックアップ間隔は後で変えるかも。期待通りに動いてるかどうか、後日要チェックだ。

追記。ちょっとスクリプトを修正した。よく考えたらフォルダ名自体を日付にしとけばもっとわかりやすかった……

  • 何故JScriptで書かないのか、を訊いてはいけません。
  • 同じ場所で同じ物理ドライブの中に複数世代バックアップ取る意味あるの?とか訊いてもいけません。
  • 必要最低限のファイルだけバックアップ取ればいいのにアホちゃう?とか言ってもいけません。
  • Linuxっぽい記法とWindowsっぽい記法がチャンポンでキモイ、とか言ってもいけません。

追記。っつーかそもそもVistaには標準で便利なバックアップ機能があるんですね。知らんかった(マヌケ)。しかし一番魅力的なComplete PCバックアップはHome Premiumには無くてBusiness以上のみ……Home Premiumで使えるバックアップ機能の範囲ではレジストリ等はバックアップできないみたいだし、シャドウコピーも無理みたいだし、もうこれでいいかなあ。つまり、このエントリの内容は「Windows Vista Home Premium以下のエディションでうそっこシャドウコピーとうそっこComplete PCバックアップを無料タダで実現してみよう」という内容に相当するわけか?→ということでタイトル変えてみた。

Comments/Trackbacks

TrackBack ping me at


の末尾に2014年1月19日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2009-03-10_backup.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2014年1月19日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のつぶやき

内容が似ているかもしれない他の人のblog

「あわせて読みたい」によると、ここを見てる人はこのあたりのサイトも見ると面白いかもね、とのことです。

オススメ

Mozilla Firefox ブラウザ無料ダウンロード