rsyncでDebian上のファイルをWindows上に同期
Debian上にあるファイルをWindows上に同期できるようにしたときのメモ.ここではrsyncを使う.
Debianにrsyncをインストール
以下,Debianにrsyncをインストールして特定のディレクトリを公開する手順.
まずDebianマシンにrsyncをインストールする.
# aptitude install rsync
インストール後のデフォルト状態ではrsyncサーバを起動しない設定になっているので/etc/default/rsyncを編集してRSYNC_ENABLEをtrueにする.
RSYNC_ENABLE=true
rsyncサーバの設定ファイルである/etc/rsyncd.confを作成する.以下のように書くとDebianマシン上の/home/www-dataディレクトリがwww-dataという名前でrsyncuserに公開される.
uid = root
gid = root
hosts allow = 192.168.1.0/24
hosts deny = *
use chroot = yes
read only = yes
timeout = 600
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
[www-data]
comment = www data on debianpc
path = /home/www-data
auth users = rsyncuser
secrets file = /etc/rsyncd.secrets
/etc/rsyncd.secretsを作成してrsyncサーバ用のユーザ名とパスワードを書く.
rsyncuser:rsyncuserpasswd
作成した/etc/rsyncd.secretsのパーミッションを600にしておく.
# chmod 600 /etc/rsyncd.secrets
rsyncサーバを起動する.
# /etc/init.d/rsync start
Windowsにrsyncをインストール
以下,WindowsにCygwinのrsyncをインストールして実行する手順.
http://cygwin.com/からCygwinのインストーラ(http://cygwin.com/setup.exe)をダウンロードする.
インストーラを実行してCygwinをインストールする.デフォルトではrsyncはインストールされない設定になっているので,パッケージ選択画面でrsyncをインストールするように指定する.rsyncパッケージはNetカテゴリ下にある.
環境変数Pathに「<Cygwinインストールディレクトリ>\bin」を追加する.インストール時に特に変更していなければ「C:\cygwin\bin」である.
スタートメニューの[アクセサリ]>[コマンドプロンプト]を起動して以下のように入力する.これでdebianpc上でwww-dataという名前で公開されているディレクトリが,d:\backup\www-dataディレクトリに同期される.
> set RSYNC_PASSWORD=rsyncuserpasswd > rsync -avz --delete rsync://rsyncuser@debianpc/www-data/ /cygdrive/d/backup/www-data/
ここではRSYNC_PASSWORD環境変数でパスワードを指定する例をのせたが,自分以外のユーザが読めないようにアクセスを制限したrsyncd.passwdといったファイルにパスワードだけを記述し,
> rsync -avz --delete --pasword-file=rsyncd.passwd rsync://...以下省略
と実行してもよい.