nDiki : rsync
rsync
よく使うパターン
# 基本 rsync -av $src $dest # 同期先にしかないファイルは削除 rsync -av --delete $src $dest # 同期先にしかないファイルは削除 (--exclude 指定してあるものも削除) rsync -av --delete-excluded --exclude '...' $src $dest # シンボリックリンクはその先のファイル実体にする rsync -avL $src $dest # 圧縮して転送する rsync -avz $src $dest # .svn/ を除外してコピーする rsync -av --delete-exclude --delete .svn/ $src $dest
スポンサード リンク
Related term
2003年10月24日 (金)
■ Unison で Windows 間 sync

デモンストレーション環境を複数の PC に設定するために、ファイルを同期する必要あり。 UNIX系なら rsync、Windows(共有ディレクトリ有)ならDirSyncを使っているのだが、今回は極力 OS の設定を変更したりしたくないので、前から気になっていた Unison を試してみる。 rsync が使い慣れているのだが、Cygwin は面倒だし。
SSH をインストールするのも面倒なので socket モードで(安全ではないので注意)。 リモート側の Windows BOX の /usr/local ディレクトリをカレントディレクトリとして
unison --socket 3456
ローカル側の /usr/local ディレクトリで
unison targetdir socket://remotehost:3456/target
で sync。 (特にオプション指定がないと)何回か対話的に選択/確認の入力があるものの、すぐ慣れる。 ちょっとした用途には便利 (きちんと使えば多分もっと便利)
- Unison + Zebedee (2004-06-11)
- OpenSSH for Windows (2004-08-05)
- cwRsync (2004-07-31)
- www.naney.org のファイルを全て Unison で同期 (2003-11-20)
- Cygwin XFree86 (2004-02-13)
2003年11月20日 (木)
■ www.naney.org のファイルを全て Unison で同期

www.naney.org 上のコンテンツは、ローカルで一旦構築したファイル(ディレクトリ構造)を rsync で1方向に sync している。
@ しかし細かくみてみると
- (L) ローカルで xml -> html し、サーバに送るファイル (html/ 以下のファイルなど)
- (L) ローカル上で直接作成し、サーバに送るファイル (etc/ 以下のファイルなど)
- (L) ローカルから定期的に送るファイル(webcamの画像など)
- (S) サーバ上でインストールし、オリジナルがサーバにあるファイル (local/ 以下のファイルなど)
- (L) サーバ上でインストール後、ローカルにコピーし改変して送るファイル(設定ファイルなど)
- (S) サーバ上で生成されるファイル (Wikiのデータベース、ログなど。var/ 以下)
とかなりかなり混在中。(L) はローカルにマスターがあるもの。(S) はサーバにマスターがあるもの。
できるだけ(L)と(S)を分離するようにはしているのだが(例えばサーバでインストールしたものの中で手元にコピーして編集したファイルは別ディレクトリにまとめておいて、サーバ上ではそちらへ symbolic link を張るとか)、これはこれで訳がわからなくなってしまう訳で。 rsync の実行も --exclude オプションがからみあい、--delete を付けられたり付けられなかったりとちょっとトリッキーな状態。
@ Unison で同期
日記システム関連の導入検討の前に、一旦ここら辺を整理し簡略化したい。 ということで、これからは Unison を使って www.naney.org とローカルを基本的に同期させてしまう事にした。
これならばどれがサーバオリジナルのファイルで、どれがローカルがオリジナルのファイルか迷わなくて済むようになると。
で、設定。ローカルの /usr/local/www.naney.org ディレクトリで同期させる事にする(ディレクトリ名は実際は違うところ)。 ローカルホストの ~/.unison/naneyorg.prf に
times = true # Roots root = /usr/local/www.naney.org root = ssh://www.naney.org//home/naney # ignore backup ignore = Name *~ ignore = Name .*~ # ignore files ignore = Path .cpan ignore = Path .union ignore = Path var/log/access_log # hns ignore = Name referer_log ignore = Name referer_batta_log
と書く(ignore は一部抜粋。ディレクトリ等は実際は微妙に違う)。 で、
unison naneyorg
で同期。 同期処理中に、(ログファイルなど)書き換わってしまうものがあるとそれを含むディレクトリの同期がごっそり abort させられるようなので、ignore を調整しつつ何回か実行して完全に同期をかける。
これで、ローカル・サーバどちらでファイルを書き換えてもOK。
rsync よりパスの指定が簡単だし(rsync はパス指定最後の / の有り・無しでの挙動の違いをいつも忘れてしまうので怖い)、なかなか使い勝手が良いかも。
ちなみにローカルで xml -> html しているファイル群だけは一旦別ディレクトリに生成してから、ローカルの www.naney.org 同期ディレクトリへ rsync で一方向 sync するようにしておいた(その後サーバと同期するという2段階処理)。
@ はまり所
最初 -times オプションを指定していなかったので、サーバからローカルへ同期したファイルの更新時刻が全て現在のものになってしまった。 後から -times オプションを指定して unison しなおすと、全部再同期しようとしてしまうようだ。 よくわからないので、一旦同期ディレクトリを消して全部取り直し。
- Unison で Windows 間 sync (2003-10-24)
- 私的10大ニュース2003 (2003-12-31)
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- 14:15 Oracle8i for Linux (2002-03-06)
- [ Debian ] DynaBook SS -> X31 (2003-12-05)
2003年12月5日 (金)
■ [ Debian ] DynaBook SS -> X31

作業中は、両方同時に使用する事になるのでホームディレクトリを Unison で同期。 DynaBook SSの方はメモリ192MBなのであるが、ホームディレクトリをまるごと転送するとスワッピング発生しまくりで、かなり遅い(それに加えて使用しているのが3C589なので10Base-Tだし)。 同期するファイル群の絶対的なファイル数はそれほどメモリ使用量には関係ないのかな。非同期になっているファイル数に応じてメモリを消費している感じ。-path で何回かに分割すれば良いようだ。
他、/etc、/usr/local、/var の下の一部、/home の下の一部を X31 の /usr/local/ss2 以下に rsync。 もともと DynaBook SS の /usr/local にはさらに前の Debian BOX の 退避ファイルを残してあるので、
/usr/local
|
+- ss2
|
+- usr-local
|
+- ss
|
+- 2代前のDebianBOXの
/usr/localファイル
なんて事になっている。 そろそろあきらかに必要のないファイルを削除しないといかんな。
とにかく、ほぼ必要なファイルを転送終了。 qmail と Mew の設定が無事 X31 で動いたので、今日からこちらで作業する事にする。
- DynaBook SS 3440を再セットアップして里子に (2004-03-06)
- 私的10大ニュース2003 (2003-12-31)
- 納品前日なのに /var が壊れた! HDDからのブートで Debian ... (2005-09-27)
- www.naney.org のファイルを全て Unison で同期 (2003-11-20)
- ThinkPad X31 メモリ増設 (2003-12-07)
2003年12月31日 (水)
■ 私的10大ニュース2003

今年の大事件、マイブームなど。
@ [web] WiKicker 公開
オリジナル WikiEngine 「WiKicker」を公開し、 www.naney.org での運用を開始。 機能追加、負荷軽減など定期的にメンテナンスを継続中。 今年も1年 Wiki の年だった。
12月からは WiKicker ベースの日記システム「DiKicker」の開発も開始。
@ [comp] cool programs
- bogofilter ... spam メールが苦にならなくなった & 楽しくなった。
- SpeedyCGI ... WiKicker の高速化にかなり効果
- Unison ... 双方向同期では rsync より便利。
@ [net] ADSLトラブル
春の数ヶ月間悩まされ続けた。 一度常時接続に慣れてしまうと、もう戻れない。 結局モデムの故障。 その間「@FreeD」も契約してみたが、ADSL復旧に合わせて解約。
@ [comp] 適応型ソフトウェア開発
仕事でのソフトウェアプロジェクトでの適用を開始しはじめてみた。
@ [comp] ThinkPad X31 2672-PHJ
3年ぶりのメインノート PC の買い換え。 Pentium M 1.6GHz + 1GBメモリ。 また3年は頑張ってもらわないと。
@ [camera] TC-1、GR1s修理
愛用のTC-1が故障したため修理。 修理費16,300円也。
新規に購入したのは、Ai Nikkor 45mm F2.8P(10月12日)、 F3接眼補助レンズ 、 ドンケ F-2 ぐらい。 あまり散財しなかった。
今年は撮影枚数が伸びず。
近所のミニラボが閉店したのも痛い。
@ [misc] レザークラフト
昨年買ったままだったレザークラフトセットを使ってレザークラフトを始めた。 パスケース、LEDフラッシュライトケース x 2、ツールナイフケース x 2、露出計ケース などを製作。 最近は何も作ってないな。 また何か作りたい。
@ [misc] LEDフラッシュライト
LEDフラッシュライトに興味を持つ。 SureFire E1e + KL1 、 ARC-AAA 、 Arc LSL-P などを購入。
- [ WiKicker ] 日記機能開発開始 (2003-12-27)
- 私的10大ニュース2004 [ web ] (2004-12-31)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
- 私的10大ニュース2005 [ comp ] (2005-12-31)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
2004年1月4日 (日)
■ [ Debian ] pdumpfs でバックアップ

先日買ってきた外付けHDDに前から使ってみたかった pdumpfs でバックアップ。
小宮健氏の pdumpfs-exclusion-0.6.patch-5 済み deb パッケージを使用して以下の通り。
#!/bin/sh
BACKUPBASEDIR=/mnt/backup/001
BACKUPDIR=$BACKUPBASEDIR/home
mkdir -p $BACKUPDIR
pdumpfs --exclude .galeon/mozilla/galeon/Cache \
--exclude Mail/trash \
/home $BACKUPDIR \
>$BACKUPDIR/log \
2>$BACKUPDIR/error-log
BACKUPDIR=$BACKUPBASEDIR/etc
mkdir -p $BACKUPDIR
pdumpfs /etc $BACKUPDIR \
>$BACKUPDIR/log \
2>$BACKUPDIR/error-log
BACKUPDIR=$BACKUPBASEDIR/var-spool
mkdir -p $BACKUPDIR
pdumpfs --exclude squid/ \
--exclude texmf/ \
/var/spool $BACKUPDIR \
>$BACKUPDIR/log \
2>$BACKUPDIR/error-log
/etc と /var/spool は以前からバックアップしていたから今回もそのようにしてみたけど、さすがに /var/spool は今まで通り rsync で充分かも。
- DAR で差分/増分バックアップ (2005-04-02)
- USB HDD 上に ext3 ファイルシステムを作ろうとしたらフリーズ (2006-01-16)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- 過去の今ごろ (2004-01-23)
- [ Debian ] pdumpfs 2日目 (2004-01-05)
2004年2月1日 (日)
■ 過去の今ごろ

過去の2月1日より。
- [ Linux ] SSH remote port forwarding (2004-02-02)
- トイデジカメ VQ1005 来た (2008-03-08)
- ケータイの写真を Gmail 経由で Flickr にメールアップロード (2008-02-22)
- mixi の写真にメッセージを (2004-11-28)
- jpegtran で Exif データを削除 (2004-11-27)
2004年6月7日 (月)
■ Unison で展示会機器のセットアップ

来週の展示会の準備として、数台のWindows BOXにソフトウェアやらデータやらをセットアップ。 まだ確定していないデータなどもあるので、こまめに同期する必要あり。
ということで USB メモリに
- unison.exe
- ブートストラップバッチファイル
を書き込む。
1台目(マスター):
2台目以降:
後はどっかで変更したら適宜同期。
Unisonはインストール不要で exe 1個で動くのでこういう時に便利。 Windows だと -fastcheck true にしないとかなり遅いので注意。
時限的な作業で sshd を入れるのもなんなので Unison の Socket メソッドを使っているのだが、この方法だとまったく認証が無いのでちょっと気持ち悪い。 Socket モードでも rsync 程度の認証機能ぐらいは欲しい。
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
- Unison + Zebedee (2004-06-11)
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
- Unison で Windows 間 sync (2003-10-24)
- 1インチポータブル HDD HDMC-U12 インプレッション (2006-12-28)
2004年6月11日 (金)
■ Unison + Zebedee

記事「Unison で展示会機器のセットアップ」に、
wtnabe 2004-06-10 15:51:09 rsync もまともな認証とは呼べないような気がしますが。。。同じことをするなら tcpwrapper を使うって形になるんでしょうけど、Zebedee などで認証を掛けるともっと融通が利いてなおかつセキュアなんじゃないでしょうか。
という貴重なコメントをいただく。
Zebedee 最近使ってなかったな。ホスティングサーバ(FreeBSD)がSSH接続を提供してくれていなかった時は、Linux BOX からZebedee 経由で telnet したり、mirror したりしていた。
ちなみに今回の用途では、通信路の暗号化はあまり重視していない(社内ネットワークで、対象ファイルはもともと皆が閲覧できるものだし、端末の前にも座れるから)。
@ Unison Soket メソッドでのサーバ側の問題
- 認証なし
- 接続ホストによるアクセスコントロール不可
- 同期対象となるローカルファイルの制限不可。
というのが問題。
c:ドライブ全体(だけでなく全てのドライブ)をパスワード無しで「読み書き可能なWindowsファイル共有」しているような感じであり、気持ち悪い。
@ rsync サーバの認証
平文でパスワードが流れることはないし、Unison でもこれぐらいの認証ができれば今回の用途では充分という感じ。
@ Unison + Zebedee
Windows 同士だと結局一方は Unison を Socket メソッドで起動しなければならない。 そのポートへは認証有のZebedeeトンネルで接続するとして、外部からは直接アクセスできないようにしなければならないので面倒。
Zebedee 自体はナイスなプログラムではあるのだが、Unison と組み合わせには使えないかな。 普段使いには Unison + SSH だし。
@ Windows 版
本家に Windows 版もあるのか。 インストーラの形になっているがインストールされる zebedee.exe は単体でも動く。 Unison との連携は別にしても、入れておいて損はないのでこれもUSBメモリにいれておこう。
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
- 普通の人向けに svnserve を立ち上げるか (2005-07-26)
- OpenSSH for Windows (2004-08-05)
- Unison で Windows 間 sync (2003-10-24)
- 自宅の無線 LAN を復旧 & IEEE 802.11g 化 (2004-11-26)
2004年7月31日 (土)
■ cwRsync

Windows でのファイルの同期には Unison を使ったりしているのだが双方向むけのものなので、目的によっては向かない事もある。
やっぱり rsync も使いたい。かといって Cygwin をインストールするのも面倒だし。
で探してみたところ cwRsync というのを発見。 これも Cygwin 上で動くものなのだが、rsync, ssh, ssh-keygen と cygwin1.dll 等必要最低限のDLL だけがパッケージされていて気軽にインストールできるようになっている。
exe 1個で済む Unison ほど扱いやすくはないが、Cygwin を1から入れるよりはずっと楽。
daemon-mode protocol: rsync -rv rsync://rsync.samba.org/ftp/unpacked/rsync/ . ローカル: rsync -rv /usr/local/aaa . ローカル(ドライブ指定): rsync -rv /cygdrive/c/usr/local/aaa . リモート: rsync -e ssh -v www.example.com:/home/naney/a.txt .
などの動作を確認。ファイル共有しているリモートファイルのUNCによる指定はうまくいかない(Cygwin ではどうやって指定する?)が、ネットワークドライブ割り当てをすればアクセスできる。
- Unison で Windows 間 sync (2003-10-24)
- OpenSSH for Windows (2004-08-05)
- Unison + Zebedee (2004-06-11)
- cwRsync と UNC (2004-09-03)
- Twitter への書き込みを自動的に Skype ムードメッセージに設定... (2008-08-05)
2004年8月21日 (土)
■ rsync の --copy-unsafe-links

man ページを見ると「コピーツリーの外へのシンボリックリンクのみ実体に置き換え、ツリー内でのリンクはそのまま維持」してくれるようなのだが、どうも期待した動作と違う。 '-l' と一緒に指定すると全てシンボリックリンクのままで、-L と一緒に指定すると全て実体に置き換えられてしまう。
ActivePerl を使用する各プロジェクト毎のPPM リポジトリを、必要とするPPM パッケージについて「ビルド済み/ダウンロード済みPPM パッケージの pool」へシンボリックリンクする事で実現している(というのを今作っている)。 ここでいくつかのプロジェクト分のPPM リポジトリを、必要な実体を無駄なくそろえて export するのに rsync が使えないかと思ったわけだが、現状だと重複して実体がコピーされてしまう。 まあディスク容量はそれほどネックではないから、これでもいいか。
- 自前 PPM リポジトリの管理 (2006-07-03)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- ActivePerl 5.8.8.820 の PPM では ppd/tar... (2007-02-05)
- PPM パッケージのインストールではまる (2001-12-25)
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
スポンサード リンク
■よく検索されるキーワード
perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 15.193736s / load averages: 0.15, 0.23, 0.31
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク