« ブルガダ症候群での通院終了 | トップページ | 散歩してきました。 »

2008年3月19日 (水曜日)

[Ruby]HDDのバックアップツール

使い捨てプログラムみたいなものですが、一応、 自分用バックアップ兼ねてココログサーバに置いておきます。

ダウンロード xcopy_backup_ruby_20080318_1.zip (1.2K)

最近、HDDのバックアップ&整理をしてたのですが、 ネットで色々探してみたのですけど、コピーしたいフォルダー(ディレクトリ)を簡単に指定出来て、 コピーしたファイルのログを取れてるような手ごろなソフトを見つけられなかったので、 Rubyでサクサクと超適当に作ってみました。

まぁ、Windows(MS-DOS)のXCOPYコマンドを呼んでるだけなんですけどねぇ~。(笑)
「X68Kのcopyall.xの方が便利だった~」とか文句言いつつも、そこそこ便利なんですよね。>XCOPY

プログラムの中身は、こんな(xcopy_dir_backup.rb)感じ。

なんでもオブジェクトなRubyではありますが、 バッククォート(')で囲んだ文字列までオブジェクトだと思いませんでした。
試しにバッククォート文字列の後ろにドット(.)を付いて適当にeachメソッドを呼んだら動いたのでビックリ。
まつもとゆきひろさんの徹底振りは凄いなぁ・・・と・・・。

`#{cmd_str} 2>&1`.each{ |str|
print str
logFile_obj.print(str)
logFile_obj.flush
}

と出来たのは、ちょっと快感。

これでさらに


Rubyに惚れました。


使い方は、 コピーしたいディレクトリ名(フォルダ名)を xcopy_dir_backup.rb と同じディレクトリにある copy_dir.txt に書いて下さい。
一行につき一つのディレクトリ名を書いて、コピーしたいディレクトリが複数ある時は、 複数行に渡って書けばOK。

dirコマンドの/Bスイッチを使うとディレクトリ名だけ表示してくれるので、私なんかは、

C:\xcopy_backup_ruby>dir /B c:\ >copy_dir.txt

C:\xcopy_backup_ruby>

のようにした後、テキストエディタ(Windowsのメモ帳でOK)で copy_dir.txt を編集して、 必要無いファイル名やディレクトリ名を削除したのを使ってます。

起動は、すでにActiveScriptRubyをインストールしてある人は、

C:\xcopy_backup_ruby>xcopy_dir_backup.rb

のようにコマンドプロンプトから呼び出すか、xcopy_dir_backup.rb をマウスでダブルクリックして下さい。

ActiveScriptRubyをインストールしてない方は、 先にActiveScriptRubyをインストールして下さい。

コレ読んで分からない人は、使わないで下さい。

実行すると xcopy_dir_backup.rb を置いたのと同じディレクトリに”xcopy_backup_ruby_2008-03-19_005817.log” みたいな感じのファイル名でログファイルを出力します。
中身は、下のようなテキストファイルなので、テキストエディタで見て下さい。

*** xcopy_dir_backup.rb ***

次の1個のdirをコピーします。
---------------------------------
backup test
---------------------------------

"C:\backup test"から"F:\backup_test\backup test"のコピーを開始します。(xcopy)
実行コマンド:xcopy /C /D /E /H /K /R /Y /I /V "C:\backup test" "F:\backup_test\backup test"
0 個のファイルをコピーしました

決まった時間に定期的にバックアップ処理を行いたい方は、 タスクスケジューラに xcopy_dir_backup.rb を登録してみると良いと思います。

|

« ブルガダ症候群での通院終了 | トップページ | 散歩してきました。 »

Programming」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/16952/40549408

この記事へのトラックバック一覧です: [Ruby]HDDのバックアップツール:

« ブルガダ症候群での通院終了 | トップページ | 散歩してきました。 »