まずrsyncコマンドの基本
rsync [option] [同期元ファイルパス] [同期先ファイルパス]
リモートサーバと同期するときはファイルパスの前に:で区切ってサーバ名またはIPアドレスを指定する
rsync [option] user@192.168.0.2:/tmp /tmp
※この例ではuserアカウントで192.168.0.2にアクセスしようとしているので、目的のサーバに接続した後、パスワードを聞かれる。
パスワードを答えると同期が行われる。
cron等で定期的に同期したい場合、このパスワード入力が面倒。
リモートのrsyncサーバにユーザを登録していれば–password-fileというオプションをつけてコマンドラインにパスワードを含めることができる。
rsyncサーバの設定
rsyncの設定ファイルを作成しする。
設定ファイルにはリモートでアクセスできる接続元や、ディレクトリ、ユーザの設定を書く。
# Global options
#
uid = root
gid = root
use chroot = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.0.1/24
hosts deny = *
dont compress = *.gz *.tgz *.zip *.pdf *.sit *.sitx *.lzh *.bz2 *.jpg *.gif *.png
#
# Module options
#
[remote1]
comment = rsync server
path = /tmp/remote1
auth users = remote_user1
secrets file = /etc/rsyncd.secrets
read only = no
[remote2]
comment = rsync server
path = /tmp/remote2
auth users = remote_user2
secrets file = /etc/rsyncd.secrets
read only = no
次にユーザのパスワードを設定する。
※ここで作成するユーザ(上記のrsync.confのremote_user1,remote_user2にあたる)はrsyncのユーザである。
Linuxに同じユーザを作成する必要は無い。
rsync.confで”secrets file”に指定したファイルを編集する。
remore_user2:password
※secrets fileのパーミッションは600にすること。それ以外のパーミッションでは認証できない。
以上でrsyncサーバの設定は終わり。サーバを起動するには
rsyncユーザで接続
rsyncサーバに設定したユーザ、ディレクトリで同期できるかのテストは以下のようなコマンドで行う。
パスワードを聞かれないようにするにはパスワードファイルを作成し、コマンドオプションでそのパスワードファイルを指定する。
/etc/rsync.passwdにはパスワードを平文で書いてよい。但し、他のユーザにアクセスされない場所に置くこと。
またこのファイルもパーミッション600でなければ認証できないので注意
コメントをどうぞ