557008 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

つつみくんのLinux記

つつみくんのLinux記

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

プロフィール

つつみくん

つつみくん

サイド自由欄

つつみくんのLinux記は、自宅のLinux「Fedora14」と、モバイルのLinux「Netwalker」と「Ubuntu10.10ノート」と「EeePC Ubuntu」で作っています!
リンク、トラックバックなども大歓迎です。(^^)♪
お買い物は↓コチラから

カレンダー

お気に入りブログ

佐藤竹善のオフィシ… さとうくんですよさん
我が家の庭の生き物… アーチャーンさん
ドリベース。 ドリ31さん

フリーページ

キーワードサーチ

▼キーワード検索

楽天カード

September 9, 2007
XML
カテゴリ:Linux記
先日、CPUが熱暴走したお話を書きましたが、じつは、この時期もう一つ壊れやすくなるパーツがあります。

それは、ハードディスク!

・・・ということで、今回は、バックアップのお話です。(^^)

パソコンの内部で熱くなる部品と言えば、CPU、電源ボックス、グラフィックカード・・・といろいろありますが、ハードディスクだけは、かなり熱くなるにもかかわらず、ファンはおろかヒートシンクなどの冷却部品がついているのも見たことがありません。(^^;)

ところが、ハードディスクが壊れてしまうと、そこに保存したデータもかなりの確率で、全て消えてしまうのでした。

Linuxの場合は、OSもアプリケーションもインターネットから取ってこれますので、OSやアプリケーションは再インストールすればいいのですが、自分で作ったファイルや、設定ファイルが全て消えてしまうと、また一から作り直さないといけません。(><)

ハードディスクの内容をバックアップしておけばいいのですが、バックアップは時間も掛かりますので、ついついおろそかになってしまいます。

そこで、バックアップ用のシェルスクリプトプログラムを作ってみることにしました。(^^)

シェルスクリプトというのは、シェル(コマンドを入力して操作するモード)で使うコマンドを並べたファイルを作っておけば、それを起動するだけで、たくさんの処理がいっぺんに実行できるというものです。

バックアップにはrsyncというコマンドを良く使っています。これは、ネットワーク上でバックアップすることを考慮して作られているので、USBメモリやDVD-RAMなどの転送スピードが遅いメディアにバックアップするときは非常に効果的です。

例えば、ホームディレクトリをUSBメモリ(/media/diskにマウントされている場合)にバックアップするときは、
rsync -a /home/tutumikun/ /media/disk/tutumikun/
とすれば、/home/tutumikun/の中のファイルを全て、/mnt/dvdram/tutumikun/の中にバックアップしてくれます。(あらかじめ、USBメモリにtutumikunというディレクトリを作っておく必要があります。)

オプションの-aの意味ですが、aはアーカイブの意味で、サブディレクトリやファイルなどを全てバックアップしてくれます。

それから、uがポイントですが、このオプションが付いていると、変更があったファイルや新しく出来たファイルだけをバックアップしてくれます。
rsyncは、uオプションを付けなくても、変更されたファイルや新しく出来たファイルだけをバックアップしてくれます。


最初の1回は普通のコピーと同じ時間がかかりますが、2回目からはファイルのサイズやタイムスタンプを見て、新しいファイルか更新されているファイルだけをコピーしてくれるので、とっても速いのです。(^^)

さて、これでは、ホームディレクトリバックアップするだけなので、/etcもバックアップしてみましょう。/etcの中には、Linux自体の設定ファイルが保存されていますので、ここも、リカバーするときに必要な情報が入っています。

(backup.sh)
#!/bin/sh
/usr/bin/rsync -a /home/tutumikun/ /media/disk/tutumikun/
/usr/bin/rsync -a /etc/ /media/disk/etc/
(1行目の#!/bin/shはシェルを使ったプログラムを表しますので、とりあえず、付けましょう。)

これを、backup.shという名前で保存しておけば、USBメモリを差して、backup.shを起動すれば、いつでも簡単にバックアップ出来るようになります。(USBメモリの中にetcというディレクトリも作っておくひつようがあります。)

ところが、テキストエディタで、backup.shというファイルを作って、./bash.shというコマンドを打ち込んでも、「Permissoin deniedIといわれて実行出来ません。(><)

Windowsでも「DOS窓」なるものあって、シェルスクリプトに似た、バッチファイルというものがありますが、拡張子に「.bat」を付けるとバッチファイルとして実行できます。

しかし、Linuxでは拡張子を「.sh」(シェルスクリプトプログラムに良く付ける拡張子)にしても、実行できるファイルとして認識してくれないのでした。(^^;)

では、どのように実行できるファイルにするかというと、
chmod +x backup.sh
とすると、実行権限というものをプラスすることができます。

chmodをした後に、./bacukp.shと入力すると、バックアップが始まりました。(カレントディレクトリにあるファイルを実行するときは./を付けます。)

完成したら、/usr/local/binに保存しておけば、./を付けなくても、実行できるようになります。(^^)

これで、とっても簡単なバックアップ用のシェルスクリプトプログラムが出来上がりました。

USBメモリを差して、backup.shと入力すれば、いつでもバックアップすることが出来ます。

簡単なプログラムなので、必要に応じて、いろいろ改良すると、面白いかもしれません。(^^)♪

(つづく)

2007/9/11 訂正しました。(uオプションを取りました。)

uオプションを付けると、バックアップ先のファイルが更新されている場合、そのファイルをスキップしてくれますが、通常は必要ありません。
(たとえば、SDカードにバックアップしたファイルを、外出先で編集する場合に付けると、更新したファイルをスキップしてくれます。)

確認不足でアップロードしてしまい、申し訳ありませんでした。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  September 11, 2007 04:33:07 PM
コメント(12) | コメントを書く



© Rakuten Group, Inc.