【図解】rsyncを使ってWEBデータを外部バックアップする方法

概要

全体像

全体の構成は以下になります。

作業内容

・パスワードなしでバックアップ元にアクセスする
・データを保存するディレクトリを作成
・データベースをダンプする
・rsyncを使ってデータをバックアップする
・cronに設定する

パスワードなしでバックアップ元にアクセスする【作業:バックアップ先サーバ】

バックアップ先のサーバにログインします。のちにcronに設定するのでバックアップ元にパスワードなしでアクセスできるようにしておきます。接続方法はSSHになるので秘密鍵と公開鍵のペアを作成し公開鍵をバックアップ元のサーバに渡します。詳しくは以下のURLを参照してください。

sshコマンドを使ってサーバ元にアクセスできれば問題ないです。

ssh hogehoge.com

データを保存するディレクトリを作成【作業:バックアップ先サーバ】

バックアップ先のサーバにログインしバックアップデータを保存するための受け皿を作成します。mkdirコマンドを使って作成します。

mkdir /backup

データベースをダンプする【作業:バックアップ元サーバ】

バックアップ元にログインしMySQLのデータをダンプします。定期的にバックアップを取りたいのでダンプコマンドをcron設定します。

・型

/usr/bin/mysqldump -u [ユーザー名] -p[パスワード] [データベース名] > [出力先ファイル名]l

以下でコマンドを使ってダンプします。保存先はバックアップするディレクト内に保存します。必ずデータは外部からアクセスできない非公開部分に保存してください。

/usr/bin/mysqldump -u user -pPassword db_name > /home/hogehoge/www/hogehoge.com/db_name.dump.sql

・cronの設定(毎日午前1時にダンプする設定)

0 1 * * * /usr/bin/mysqldump -u user -pPassword db_name > /home/hogehoge/www/hogehoge.com/db_name.dump.sql

rsyncを使ってデータをバックアップする【作業:バックアップ先サーバ】

rsyncは特定の場所のデータをほかの指定の場所にデータを転送するコマンドです。cpやscpなどのコピーコマンドと違って差分を計算したり同期保存ができたりします。ほかにもオプションが充実しておりバックアップに適したコマンドになります。このコマンドを使ってデータをバックアップします。

・型

/usr/bin/rsync -avhz -e ssh --delete コピー元サーバ:コピー元ディレクトリパス コピー先ディレクトリパス

・今回使うオプション説明

-a archiveの頭文字。ディレクトリを再帰的にコピ、パーミッションを保持、所有者を保持などできるだけ同一状態で保存する。
-v verbose(冗長)の頭文字。コピーしているファイル名やバイト数などの転送情報を表示
-h humanの頭文字。ファイルサイズのbytesをKやMで出力。
-z  --compress  データ転送時に圧縮
--delete 転送元に存在しないファイルは削除
-e ssh SSHで接続
--exclude= 除外ファイル・ディレクトリの指定(正規表現)。

テストもかねてrsyncコマンドでバックアップします。

/usr/bin/rsync -avhz -e ssh --delete hogehoge.com:/home/hogehoge/www/hogehoge.com/ /backup/

問題なくバックアップできればテスト終了です。

cronに設定する【作業:バックアップ先サーバ】

自動でバックアップするためにcronを設定します。

・cronの設定(毎日午前2時にバックアップする設定)

0 2 * * * /usr/bin/rsync -avhz -e ssh --delete hogehoge.com:/home/hogehoge/www/hogehoge.com/ /backup/
自由な働き方をしてみませんか
フリーランスといえばクラウドソーシングが連想されると思います。 しかし「クラウドワークス」や「ランサーズ」調べてみると仕事の単価が非常に安い。 せっかく身につけた技術力がクラウドソーシングでは全く価値がなくなってしまいます。
そこでオススメなのがリモートワークの案件が多く翌月15日報酬として振り込まれる
クラウドテック」です。 掲載案件では平均月60万週3~4日勤務の案件が豊富生活スタイルに合わせた働き方を設計できます。 また福利厚生が充実し旅行、レジャー、家事代行、ヘビーシッター、健康診断など100種類以上を無料で使えます。
  • 97%がリモートのお仕事
  • 週4日、週3日OKのお仕事多数
  • 登録社数74万件業界トップクラス
  • 2〜4週間程度でお仕事決定
まだ間に合います。まずは無料登録をして自分に合った案件がないか確認してみてください。きっと魅力的な案件が見つかることでしょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする