rsyncもどき

rubyで超簡易rsyncもどきを作ってみました。スクリプトはこちらです。

動機は

    • rsyncでマウントしたsambaのフォルダに差分同期しようとしたらうまくいかなかった(??)(常に全ファイルコピーになってしまう)。
    • rubyでの練習用。

です。

ruby <script名> [OPTION] ... SRC [SRC]... DEST

または

<scriptのパス> [OPTION] ... SRC [SRC]... DEST

というような,rsyncの起動方法で、

今のところ、オプションはこんなもんです。

-v, --verbose               冗長にメッセージを出力。
-r, --recursive             
-n, --dry-run               実際の実行を行わない。
-t, --times                 更新時間を保存。
-a, --archive               アーカイブモード。-rtpl と同じ。
-p, --perms                 できるだけ、パーミション情報を保存する。
    --exclude=PATTERN       指定したファイルを除外
-l, --links                 シンボリックリンクをシンボリックリンクとしてコピー
-L, --copy-links            シンボリックリンクを実際のファイル、ディレクトリとしてコピー
    --delete                転送元にないファイルを削除する。 


起動例は、

#ruby sync.rb -av workspace/board Volume/backup
#ruby sync.rb -av --exclude="*~" --exclude="tmp/" workspace/board Volume/backup

のような感じになります。

Windowsで動いてくれるかは、まだためしていませんが。