rsyncでDebian上のファイルをWindows上に同期

Posted by mkamo on 2009年5月26日

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カテゴリ下にある.

cygwin

環境変数Pathに「<Cygwinインストールディレクトリ>\bin」を追加する.インストール時に特に変更していなければ「C:\cygwin\bin」である.

image

スタートメニューの[アクセサリ]>[コマンドプロンプト]を起動して以下のように入力する.これで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://...以下省略

と実行してもよい.



コメントを書く




XHTML: 次のタグが使用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: 投稿されたコメントが表示されるにはいくらかの時間がかかります.投稿後直ちに表示されませんが投稿ボタンを何度も押さないようお願いします.