MENU

接続しているサーバから、別サーバへのファイル転送

目次

概要

クライアント様より、「サーバを復旧できるように、バックアップをとってほしい」とのご要望がありましたので、その方法を記載します。

環境

転送元:
先方のサーバ
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

この記事を書いた人

目次