rsyncを極めてとインフラ運用に強くなろう!

lake-430508_1280
LINEで送る
Share on GREE
Share on LinkedIn

サーバーエンジニアとネットワークエンジニアは同一の作業が割り当てられがちですが、どちらも非常に膨大な知識量が必要になるため、どちらかは長けているが、反対の片方は苦手というエンジニアも少なくないようです。
これらを全て学問的に詳しくなる必要はなく、ポイントは運用が出来ることと、トラブル対応が出来ること。
少し上級になると、設計ができるという事に主眼を置けば、わざわざ学校に通わなくても、OJTでも十分に技術習得できるでしょう。

まあ、プログラマーも全く同じことが言えるので、これに限ったことでは無いんですけどね。

運用で必須のrsync

そして、サーバー、ネットワークを含めてインフラ関連の運用を行う時に必要になってくるスキルとして「rsync」があります。

現役エンジニアの人であれば、rsyncがコマンドラインである事や、便利すぎる機能である事を承知していると思いますが、この機能が中々深いので、僕の運用実績のメモをまとめる為に、備忘録ブログを書いておきます。

rsyncを知る

## rsyncで出来ること

  • ファイルのバックアップをとる
  • データの同期をとる
  • ディレクトリ間の差分を出力する
  • バックアップも同期も同じように思えますが、サーバーを冗長化して、データやプログラムを同期してミラーリング構造を実現する時にrsyncが使われます。

    単なるデータコピーだけであればscpコマンドと同じなんですが、rsyncはとにかく多機能であるので、利用するエンジニアが多いんでしょうね。

    基本構文

    基本構文は、下記リンクで確認してください。
    http://wordpress.ideacompo.com/?p=1243

    よく使うオプション

    –dry-run : テスト実行(実際にはコピーされません)
    —remove-source-files : 転送後に元ファイルを削除する

    実践編

    多段認証対応

    ※実際にコピーされないように「–dry-run」オプションを付けてますが、実際に実行したい場合は、このオプションを取り除いてください。

    めちゃくちゃ大量にあるファイルをrsyncしようとするとエラーがでる時の対処法

    対応

    rsyncをfind-xargsを使って効率よく使う

    ファイル検索だけ

    /var/log 以下の*.gzファイルを一括取得

    rsyncだけ

    * 条件として、鍵認証が行えて、パスワード入力が無いことが条件

    xargsを使って連動

    /var/log 以下の*.gzファイルを一括で、バックアップサーバーの特定フォルダに保存する

    各種リンク

    rsyncのサンプル例集

    http://qiita.com/nagais/items/7403411b4aa193d0fa0d
    サンプルあります

    とりあえずrsync

    http://qiita.com/bezeklik/items/22e791df7187958d76c1
    基本オプションが参考になります

    rsync でディレクトリの同期(バックアップ)

    http://www.maruko2.com/mw/rsync_%E3%81%A7%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E5%90%8C%E6%9C%9F%EF%BC%88%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%EF%BC%89
    オプションが詳しく書かれています

    Leave a Reply

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


    *