3TBのHDDをLinuxでマウントしてバックアップ設定の続き
お盆前に設定したことなので、かなり記憶が曖昧ですが、未来の自分のために書いておきます。前回は、タイトルのまんまですが、3TBのHDDをLinuxでマウントしました。そのとき、fdiskしたら文句垂れてきたので、別のコマンド「parted」を使いました。それで普通にパーティション作成して、あとはフォーマットしてマウントしました。で、今回はバックアップの設定です。
昔々(10年以上前)、自宅サーバで色々遊んでいたころにもバックアップの設定をしましたが、そのときに差分バックアップをしたので、今回も「rsync」を使って差分バックアップの設定です。はっきり言って、自分でまともにスクリプトが組めるわけではないので、今回も拾ってきました。
「linux backup rsync 差分」で検索し、
http://www.virment.com/linux/1917/
からスクリプトをいただきました。ありがとうございます。変更点は、3、4、7,10行目だけです。重要な箇所として、まずバックアップ元が/home1で、バックアップ先が/backupなので、その部分を変更。あとは何日残すかと、メールアドレスなので、適宜。
#!/bin/bash MAXNUM=3 # バックアップの最大保存日数 MAILADD=hogehoge@hoge.com # ログ内容の送信先メールアドレス # バックアップ元ディレクトリのパス(共有フォルダのマウントディレクトリのパス) SOURCEDIR=/home1 # バックアップ作成先ディレクトリのパス(外付けHDDのマウントディレクトリのパス) DESTDIR=/backup
修正したファイルを、1日毎に実行して差分バックアップを取りたいので、/etc/cron.daily/フォルダにbackupと言う名前で保存します。さらに実行権をつけるために、
$ sudo chmod 755 /etc/cron.daily/backup
としておきます。あとは勝手に、1日毎に実行してくれます。ちなみに、cron.hourlyフォルダでは1時間ごと、weekly、monthlyではそれぞれ、1週間、1ヶ月毎に実行されます。もっと自由に設定したければ、crontabの設定をすれば良いはずですが、それは自分で調べてください。せっかく設定したので、とりあえずすぐに実行したければ、
$ sudo /etc/cron.daily/backup
とすればよいと思います。/backupフォルダの中に「20140819backup」というフォルダができ、その中に「/home1」が保存されます。次の日には、「20140820backup」というフォルダが作成され、その中に「/home1」が保存されます。
「rsync」の良いところは、1回目は時間がかかりますが、以降は差分を取るために時間がそれほどかからないこと、さらにハードリンクするため、たとえば10日分保存しても、ファイルサイズが10倍にはならないことなどがあります。ホントはネットワーク越しに同期が取れるみたいだけど、今回は不要でしたので、使ってません。
すでに2週間くらい経ちますが、順調に稼動しています。