目次
概要
クライアント様より、「サーバを復旧できるように、バックアップをとってほしい」とのご要望がありましたので、その方法を記載します。
環境
転送元:
先方のサーバ
CentOS release 6.8 (Final)
rsyncコマンドが使用できない(未インストール)
転送先:
キノスラテストサーバ
転送対象:
ルート直下のファイル全て
手順
rsyncが使用できるか、確認
※scpコマンドでもファイル転送が可能だが、シンボリックリンクが存在しており、
無限ループに陥ってしまったため、rsyncコマンドを使用することにした。
# rsync --version
rsyncのインストール
rsyncコマンドを使用するために、インストールを行う。
# 新しいシステム(RHEL 8/CentOS 8以降など)の場合
sudo dnf install rsync
# 古いシステム(CentOS 7など)の場合
sudo yum install rsync
リポジトリが存在せず、永遠とミラーの確認を行ってしまう場合は、一旦Ctrl + zで一時停止。
(古いOSで起こりがち)
CentOS-Base.repoを修正
/etc/yum.repos.d/CentOS-Base.repoを修正して、vault.centos.orgというところの過去のリポジトリを参照するようにします。
(mirrorlistをコメントアウトし、baseurlに参照先のurlを記述)
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
↓
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
上記に倣い、その他の項目も調整する。
[base] baseurl=http://vault.centos.org/6.10/os/$basearch/
[updates] baseurl=http://vault.centos.org/6.10/updates/$basearch/
[extras] baseurl=http://vault.centos.org/6.10/extras/$basearch/
[centosplus] baseurl=http://vault.centos.org/6.10/centosplus/$basearch/
[contrib] baseurl=http://vault.centos.org/6.10/contrib/$basearch/
yumのキャッシュクリア
ケースによりバグってしまうため、必ず、キャッシュをクリアする。
sudo yum clean all
rsync のインストール
sudo yum install rsync
rsyncで転送
転送元のディレクトリや、転送先の情報は適宜変更してください。
rsync -av -e 'ssh -p 〇〇〇〇' / □□□@△△△.△△△.△△:/var/www/cynosura.jp/aibatest/public_html/caj_bk/
| rsync | コマンド | リモート同期 (Remote Sync) を行うための実行ファイルです。効率的な差分転送機能を持つファイル転送ツールです。 |
| -av | オプション | 複数の設定をまとめたショートカットオプションです。 |
| -a (アーカイブ) | 最も重要なオプション。以下のような設定を一度に有効にします。 | |
| 1. 再帰的(-r):ディレクトリの中身もすべてコピーします。 | ||
| 2. 属性保持(-lptgoD):シンボリックリンク、パーミッション、更新日時、所有者、グループ、デバイスファイルなどのファイル属性を極力保持します。 | ||
| -v (詳細表示) | 転送処理の進行状況や、転送されたファイル名など、詳細なログを画面に出力します。 | |
| -e ‘ssh -p 〇〇〇〇’ | オプション | $\mathbf{rsync}$ がリモート接続に使用するリモートシェル(ここでは $\mathbf{SSH}$)とその設定を指定します。 |
| ssh -p 〇〇〇〇 | 〇〇〇〇 には、解放しているポート番号が入ります。 | |
| / | 転送元 (Source) | コピーするファイルやディレクトリのパスです。ここでは、ローカルサーバーのルートディレクトリ(/) 直下のすべてを意味します。 |
| toshiki-aiba@△△△.△△△.△△ | 転送先ホスト | 接続するリモートサーバーの接続情報です。 |
| □□□ | リモートサーバーにログインするユーザー名です。 | |
| △△△.△△△.△△ | リモートサーバーの IPアドレスです。 | |
| :/var/www/cynosura.jp/aibatest/public_html/caj_bk/ | 転送先パス (Destination) | リモートサーバー上でのコピー先のパスです。 |
| : | IPアドレスとリモートパスを区切る記号です。 | |
| /var/www/…/caj_bk/ | 転送元 (/) の内容を格納する最終的なディレクトリです。 | |
参考サイト
rsyncのインストール
https://qiita.com/kazkun/items/bfff4d378dee5b52e54d
rsyncのオプション
https://qiita.com/akkiii/items/54ab13337bf80e913c71
