Linuxの運用でバックアップは重要です

もし、あなたがLinuxサーバーの運用で、自動バックアップしたい、する可能性があるなら、この手紙を読み進めてください。きっとお役にたちます。


こんにちは、サーチマン佐藤です。私は、会社勤めの現役バリバリのSEやってます。

そんな私が、実際に自分の管理・運用しているLinuxサーバーのバックアップ方法をお伝えいたします。(と言っても、実は単純な話です。)Linuxサーバーをバックアップする一番簡単な方法は、「バックアップしたい特定のディレクトリを圧縮して、別のサーバーにFTP転送してしまう」ことです。

私は、そんなシェルをつくって、クロンで動かして運用していますが、みなさんは、どうですか?


もしかして、バックアップを何もしていない
「えっ、バックアップは手動?」
「バックアップは何もしていない」

う〜ん、そんな感じでしたら、すぐに自動バックアップのシェルをつくった方がいいでしょう。
だって、何かあったら、おしまいですよ。本当に。

ハードディスク障害だけじゃなくて、間違って新入社員がファイル消去してしまうかもしれないし。


すぐにシェルを書けますか?
すぐに自動バックアップのシェルを書いたほうがいいのは当然ですが、
実際、すぐに書けますか?

簡単なようですが、きちんと使うのなら、こんな要件が必要ですよ。

  • 特定のディレクトリを圧縮して、zipファイルにします。
  • そのzipファイルを、指定したサーバーにFTPで送ります。
  • FTP先でも、一週間、一ヶ月単位でファイルを自動で残せます。
  • 圧縮失敗、FTPへのping失敗、FTP転送失敗した場合は、メール連絡があります。メールには、どこで失敗したのか記載してあります。
  • メールアドレス、FTPアドレス、ディレクトリは、別のパラメータファイルで容易に設定できます。

ね、こんな要件をみていると、1日や2日どころか、テストまで含めたら1週間くらいかかるでしょう。


そこで、よかったら提供します
こんな「自動バックアップ&FTPシェル」は、システムに関わっていたら、いつか必ず必要になります。「あーだ」「こーだ」やって作るよりも、手に入れておいて使ったほうが賢明だと思います。


と、私は思うのですが、決めるのはあなたです。


そのくらいのシェル、自分で書ける
あなたが、「そのくらいのシェル、自分で書ける」と思うのは、よくわかっています。でも、書くのは、面倒ですし、私がどのようなシェルを書いて実際に運用しているのか、参考になると思うのです。言ってみれば、時間を多少のお金で買うという感覚です。忙しいあなたにとっては、効率的な方法だと思いますし、時間も努力も節約できますね。


シェルの処理チェック機能は、勉強になると思います
もし、あなたがバックアップに興味がなくても、「シェルの一般的な方法を勉強したい」とお思いでしたら、このシェルは、それを満たしてくれると思います。何故なら、コマンドや処理を実行した後に、それが成功したかどうかをチェックする機能(関数)をつくってあるからです。


具体的に言うと、こんなチェックがあります

<圧縮ファイルのチェック>

例えば、バックアップ対象ディレクトリの中に、アクセス権限の無いファイルが入ってしまった場合は、そのディレクトリを圧縮してファイルにすることが出来ません。エラーになります。このような場合は、あなたにメール連絡があります。

<FTPへのpingのチェック>

FTP転送するサーバーにpingが通らない場合は、ネットワークで繋がってないと考えられます。このような場合は、あなたにメール連絡があります。ただし、pingは遮断してFTPはOKというサーバーもありますので、そのような場合は、このチェックは外して運用します。

<FTP転送のチェック>

最後に、「FTP転送してファイルをきちんとアップロードできたのか?」をチェックします。FTPのアップロードが成功し完了すると、「226 Transfer complete」というメッセージが出ます。このメッセージが出なかった場合は、エラーになります。このような場合は、あなたにメール連絡があります。

例えば、FTPのアカウント、パスワードを間違った場合、FTP転送先のディレクトリが書き込み不可の場合は、このチェックにひっかかりますので、あなたにメール連絡がいくことになります。

構成は3ファイルです
以上述べてきたような要件とチェック機能を持つシェルですが、その構成は以下の3ファイルです。
 ・設定ファイル
 ・共通関数のファイル(処理正常チェック、メール送信)
 ・バックアップ&FTP転送シェルのファイル

ちなみに、設定ファイルの中身は以下のようになります。

<設定ファイルの中身>

#バックアップディレクトリ
BACKUP_DIR="****"

#バックアップサイクル(現在は、一週間単位)
#一ヶ月単位の場合は、CYCLE=`date +%d`
CYCLE=`date +%w`

#バックアップファイル名
BACKUP_FILE="****-$CYCLE.tar.gz"

#メール送信先
MAIL_ADDRESS="***@*****"

#メールタイトル
MAIL_SUBJECT="BACKUPが失敗しました"

#接続アドレス
REMOTE_ADDRESS="****"

#FTP接続アカウント
ACCOUNT="*****"

#FTP接続パスワード
PASS="****"

#データ転送モード
TRANSFER_MODE="binary"

#リモートディレクトリ(FTP転送するディレクトリ)
REMOTE_DIR="*****"
この設定ファイルの*****を変更することで、バックアップディレクトリ、転送先などを変更できます。


最後に
以上述べて来たシェルになります。
バックアップを取る必要がある、将来必要になる可能性がある、シェルの勉強したい方は、お申込みください。


料金は、3000円で提供します。


私が言うのも何ですが、
実際の作業時間と内容を比べても、決して後悔いたしません。
もし後悔するようでしたら、

6ヶ月間は、
完全返金保証します。




そんなシェルになります。

カード決済でお申込みしたい方は、こちらです。

カード決済なので、すぐにダウンロードすることができます。


銀行振込したい方は、こちらからお申込みください。

(入金後、3日以内の発送になります。)

<銀行振込での申込フォーム>

下記「お申し込みフォーム」に必要事項をご記入の上、「予約する」ボタンを押してください。
入力いただいたメールアドレスに、お振込先を記したメールを送信させていただきます。

不具合などがございましたら、こちらのメールフォームからご連絡ください。

お申し込み後1週間以内にお振込ください。
こちらで入金が確認でき次第、ダウンロードURLをお知らせします。


※ 振込手数料はご負担ください。
※ お申し込み後、1週間経っても入金が確認できない場合はキャンセル扱いとさせていただきます。


販売金額 3000円
お名前(必須)
メールアドレス(必須)
電話番号
利用規約に同意(必須)
メッセージ等



特定商取引法の表示