[vmware]centos6.4でrsyncを利用したコンテンツ同期化

環境                                                                   

centos6.4
vmware player

web1.test.com(192.168.253.20)  <———–>        web2.test.com(192.168.253.21)

流れ                                                                   

rsyncコマンド設置

rsyncコマンドテスト

crontab設定

crontabにrsyncコマンド登録

パスワードなしでコンテンツを渡せるように設定

rsyncコマンド設置                                                                          

[code language=”bash”]
yum install rsync
[/code]

rsyncコマンドテスト

[code language=”bash”]
//例:rsync -a 同期元ディレクトリ ユーザー名@リモート・ホスト名:同期先ディレクトリ

rsync -a /var/www/html/index.php root@192.168.253.21:/var/www/html/index.php
[/code]

sshパスワードなしでrsync作成する方法アクセスする方法

web1側でやる作業

[code language=”bash”]
cd ~/
ssh-keygen -t rsa
ls -al ~/.ssh/
scp /~/.ssh/id_rsa.pub root@192.168.253.21:~/.ssh  //生成したkeyをweb2へ送信

//scpが実行できない場合openssh-clientsを設置する
yum -y install openssh-clients
[/code]

web2側でやる作業

[code language=”bash”]
cd ~/.ssh
mv id_rsa.pub authorized_keys //もらったkeyのファイル名を変更
chmod 644 ~/.ssh/authorized_keys//もらったkeyの権限を変更
[/code]

これで以下のコマンドを再度打った時、パスワードを聞かれてないと成功

[code language=”bash”]
rsync -a /var/www/html/index.php root@192.168.253.21:/var/www/html/index.php
[/code]

cronファイル設定                                                                          

[code language=”bash”]
vim /etc/cron.rsync_web
#bin/sh
rsync -a /var/www/html/index.php root@192.168.253.21:/var/www/html/index.php

chmod 641 /etc/cron.rsync_web
[/code]

crontab設定

[code language=”bash”]
crontab -e * * * * * /etc/cron.rsync_web
[/code]

トラブルシューティング                                                                  

tail -f /var/log/cron

両方selinuxはdisabledにして成功した
web1(selinux =disabled) -> web2(selinux =disabled)送信成功
web1(selinux =enabled) -> web2(selinux =disabled) 送信失敗

web1(openssh設置) -> web2(openssh未設置) opensshは送信側さえあれば結構のようだ

[code language=”bash”]
[root@localhost html]# rsync -a /var/www/html/index.php root@192.168.253.21:/var/www/html/index.php
rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

こんなエラーが出たけど、送信するコンテンツの権限を以下のように変えることで解消された
chmod 647 /var/www/html/index.php
[/code]

カテゴリー: 未分類

コメントを残す

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