《1》 バックアップ環境の操作について

 

バックアップサービスご契約時に、お客様環境からの操作によるバックアップをご指定いただいた場合、お客様にはバックアップサーバー名とアクセスID、パスワードの情報をお渡しします。以下の例では、お客様が下記の情報を持たれている前提で解説します。

 

バックアップサーバー名: 111.222.333.444 (バックアップ領域設定完了のお知らせに記載)

アクセスID: bakusr1

パスワード: bakpasswd

 

 

情報を元に、バックアップ環境を確認する方法について説明

1、バックアップサービスでは、サーバーにsshによるアクセスが可能となります。

お使いのマシンから sshコマンドを使ってアクセスできることを確認してみてください。

*SSH:ネットワークを通して別のコンピュータにアクセスする際などに、パスワードやデータを暗号化して通信内容の漏洩を防ぎ、安全な通信を行うためのプログラム。(Secure Shell)

 

書式:

ssh (ユーザ名)@(バックアップ先サーバー名) 

 

例:

# ssh bakusr1@111.222.333.444

 

2、(初回だけ以下のようなメッセージが出ます。"yes"で答えてください)

The authenticity of host '111.222.333.444 (xx.xx.xx.xx)' can't be established.

RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.

Are you sure you want to continue connecting (yes/no)?

 

3、(パスワードを聞かれますのでお持ちのパスワードを入力します)

bakusr1@111.222.333.444's password:

 

-bash-3.1$ ls

bin dev etc lib usr

 

4、エラーも無くプロンプトが返ればログインに成功しています。

"ls" や "pwd"、"mkdir"といったコマンドが使えますので、事前にディレクトリを作るなどバックアップデータの保存先を整理しておくことも可能です。

 

 

(注意)Windows環境から確認する場合は、TeraTermやWinSCPといったツールで確認することが可能です。

(*バックアップサーバーはSSH2のみをサポートします。SSH1はサポートしませんのでご注意ください)

 

 

 

《2》 手動バックアップ(scp、rsync)

 

最も基本的なバックアップの方法は、scpやrsyncといったコマンドを使う方法です。

バックアップしたい対象のファイル(またはディレクトリ)を個別に指定し、バックアップサーバー_へコピーします。

rsyncコマンドを使いますと、お客様環境とバックアップサーバーで差分のバックアップを取ります。

ファイルを多く含むディレクトリを定期的にバックアップする場合など、サーバーの負荷やトラフィックを抑えることができます。

(お客様環境にてrsyncコマンドが使える必要があります。)

 

 

書式:

rsync (バックアップ対象のファイル) (ユーザ名)@(バックアップサーバー名):(バックアップ先)

 

例:

お客様の/var/www/htmlディレクトリをバックアップ先のdata以下にバックアップ

 

# rsync -av -e ssh /var/www/html bakusr1@111.222.333.444:/data

 

(パスワードを聞かれますのでお持ちのパスワードを入力します)

bakusr1@111.222.333.444's password:

 

building file list ... done

html/

html/new.html

html/images_new.gif

 

sent 13119 bytes received 268 bytes 2974.89 bytes/sec

total size is 12300 speedup is 0.92

 

エラーが出なければ成功です。

 

 

《3》 バックアップの自動化(公開鍵認証の設定)

 

crontabに登録するなど、お客様環境のサーバーでバックアップを自動化したい場合、毎回パスワードを聞かれないように公開鍵による認証方式を利用する設定をします。

 

まず、お客様環境のサーバーにて秘密鍵と公開鍵を作成します。(既にお持ちの場合は不要です)

今後バックアップを実行するユーザになって以下のコマンドを実行してください。

そして、この時聞かれる質問には全て「Enter」のみで進めてください。

 

(お客様環境での作業)

1、# ssh-keygen -t dsa 

→「Enter」

Generating public/private dsa key pair.

Enter file in which to save the key (/root/.ssh/id_dsa): → 「Enter」

Enter passphrase (empty for no passphrase): → 「Enter」

Enter same passphrase again: → 「Enter」

Your identification has been saved in /root/.ssh/id_dsa.

Your public key has been saved in /root/.ssh/id_dsa.pub.

The key fingerprint is:

xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@xxx.xx

 

すると、作業をしたユーザのホームディレクトリに.sshができ、この中にid_dsa(秘密鍵)とid_dsa.pub(公開鍵)が作成されます。

2、id_dsa.pub(公開鍵)をscpコマンドでバックアップサーバー上の .ssh ディレクトリ下へコピーしてください。

 

# scp ~/.ssh/id_dsa.pub bakusr1@111.222.333.444:/.ssh

 

3、(パスワードを聞かれますのでお持ちのパスワードを入力します)

bakusr1@111.222.333.444's password:

 

4、バックアップサーバーへsshでログインし、.ssh ディレクト以下にコピーしたファイルをauthorized_keysというファイルに追加してください。

また、追加後、id_dsa.pub ファイルは削除してください。

 

(バックアップサーバー上での作業)

-bash-3.1$ cd .ssh

-bash-3.1$ cat id_dsa.pub >> authorized_keys

-bash-3.1$ rm id_dsa.pub

 

5、再びお客様のサーバー環境からsshログインを試してみてください。パスワードを聞かれずにログインできれば成功です。

 

(お客様環境上での作業)

# ssh bakusr1@111.222.333.444

Last login: Mon Jul 16 15:52:22 2007 from xx.xx.xx.xx

-bash-3.1$

 

6、crontabに登録するなどして、バックアップを自動化することが可能になります。

 

 

例: 毎日4時30分に /var/www/html 以下をバックアップサーバーの/data以下にコピーする

 

# crontab -e

 

30 4 * * * /usr/bin/rsync -av -e ssh /var/www/html bakusr1@111.222.333.444:/data

 

7,お客様環境とバックアップサーバーで「exit」をコマンドで打って終了