Thursday, April 2, 2009

ファイル同期ソフト

方法

rsync
mirror.pl
web storage soft: DropBox


---
http://qwerty777.s57.xrea.com/winunix/double.htm

#
rsync 2006年7月20日追加

 rsyncは ファイルを同期するためのソフトウェアですが、 ネットワーク上で使用するためにsshと併用されます (参考: rsync と ssh でミラーリングアップロード:Landscape 2006-01-10)。 cwRsyncは 最小限のCygwinを含んだWindows用のrsyncとsshのパッケージです。

---
http://www.double-h.com/linux/tipsmemo/others/general01.html

Miscellany Top > Linux Memo > backup by rsync
Backup by rsync (+ssh)

2000.12.8 updated

Linux/UNIX 上のデーターを(別の Linux/UNIX マシンに)バックアップしたり、2つのマシンのあるディレクトリどうしの内容を同期するのに、どうしているでしょうか?私の場合、以前は NFS でマウントして、cp -a (コピー)したりしていたのですが、環境が変わってから NFS を利用できなくなってからは、rsync を使うようになりました。

この rsync によるバックアップというのは、使うまでは「設定その他が必要で面倒そう...」と思っていたのですが、実際にやってみると手動でバックアップ・同期するだけなら設定も必要なく、あっさり使えました。

また、ssh と併用することでポートフォワーディング先のマシンやインターネットの先にあるマシンともバックアップ・同期が取れますので、便利なことこの上ないのです。scp でコピーするよりも高速ですしね(rsync はデフォルトでは rsh を利用します)。

というわけで、手抜き大好きユーザーのための rsync + ssh 利用バックアップ方法を簡単に書いておきます。
利用するための環境

バックアップ元のマシン、バックアップ先のマシンともに、

* rsync がインストールされている
* ssh がインストールされている(ssh を利用せずに rsh を利用する場合には ssh は不要)

必要があります。

最近の Linux などの FreeUNIX 環境ならば、rsync は最初からインストールされているか、パッケージが用意されているでしょう。Kondara MNU/Linux の場合は普通にインストールすれば最初からインストールされていることが多いでしょうし、インストールされていない場合には、Binary CD (Install CD) に含まれています。Vine/Linux の場合は、オプショナルパッケージ集である VinePlus にパッケージがあります。

ssh に関しては、最近は OpenSSH (+ OpenSSL) が利用されることが多いようです。Kondara 1.1/1.2/2000 の場合には NonFree 扱いですので、商用版CDや雑誌添付CDには含まれておらず、FTP サイトからダウンロードする必要があります。Vine/Linux の場合には VinePlus に含まれています。OpenSSH をインストールするには、OpenSSL を一緒に(または事前に)インストールする必要があります。

これらをバックアップ元、バックアップ先のマシンの両方にインストールし、その後少なくともバックアップ元からバックアップ先のマシンに ssh でログインできる環境になっていることが必要です(ssh を利用しない場合は rsh でログインできる必要がある)。
バックアップ方法

バックアップ元のマシンから

rsync -avz -e ssh (バックアップ元ディレクトリ) (バックアップ先マシン名):(バックアップ先ディレクトリ)

を実行するだけです。例えば、バックアップ元の /home/test 以下の内容をバックアップ先のマシン filesrv の /home/backup 以下にバックアップするときは、

rsync -avz -e ssh /home/test/ filesrv:/home/backup/

とします。ssh を利用せず、rsh で行う場合には -e ssh は不要です。もちろん、バックアップ先ディレクトリに書き込める権限が必要となります。

コマンド入力後、パスフレーズまたはパスワードを聞かれるので、それに答えた後にバックアップが始まります。バックアップするファイル数が多いとバックアップ開始まで少々時間がかかりますが、バックアップ速度は単純に scp するよりはるかに高速です。

当然のことながら、2回目以降の実行時にはファイルのタイムスタンプを比較して更新されたファイル、追加されたファイルのみバックアップされます。

この方法では、2回目以降の実行時にバックアップ元で更新されたファイル、追加されたファイルだけがバックアップ先にコピーされますが、削除されたファイルはバックアップ元でそのままになります。バックアップ元で削除されたファイルは、バックアップ先でも削除したい場合には

rsync -avz -e ssh --delete (バックアップ元ディレクトリ) (バックアップ先マシン名):(バックアップ先ディレクトリ)

と、--delete オプションを付加します。これでバックアップ元で削除されたファイルは、バックアップ時にバックアップ先でも削除されますので、バックアップ元とバックアップ先が完全に同期されます。
rsync の主要なオプション

独断と偏見で、よく利用するようなオプションを以下に挙げておきます。その他豊富なオプションについては、man rsync で参照のこと。

* -v バックアップ時にバックアップしているファイル名を表示する
* -r 指定したディレクトリ以下の各ディレクトリも再帰的にバックアップする
* -l シンボリック・リンクをそのままにバックアップする(シンボリック・リンク先の内容をコピーせずにリンクのままコピー)
* -H ハード・リンクをそのままにバックアップする
* -p パーミッション属性を保存したままバックアップする
* -o 所有者属性を保存したままバックアップ(root のみ可能)
* -g グループ属性を保存したままバックアップ
* -t タイムスタンプを保存したままバックアップ
* -D デバイスファイルを保存したままバックアップ(root のみ可能)
* -z データーを圧縮して転送する
* -u 追加されたファイルだけバックアップする
* --existing 更新されたファイルだけをバックアップし、追加されたファイルはバックアップしない
* --delete バックアップ元で削除されたファイルはバックアップ先でも削除する
* --exclude 'PATTERN' PATTERN で指定したパターンにマッチするファイルはバックアップしない
* -a 上記のオプションのうち rlptgoD を指定する

これらのオプションを利用すれば、だいたい思うようにバックアップすることができるでしょう。通常は、a オプションに v, z, --delete, --exclude を利用すれば事足りるのではないかと思います(--exclude は *~ や *.bak を指定することで、エディタなどが作った予備バックアップファイルが除外される)。
定期的なバックアップ、同期

rsync を --deamon オプションをつけて起動することで、rsync サーバーとして利用可能になります。この場合、/etc/rsyncd.conf に利用するための設定を書くことになります。

ただ、頻繁に同期を必要としないような利用法、ちょっとした個人的なバックアップや同期なら手動でやるか、cron でやらせた方がお手軽だと個人的には思います。

---
http://lunatear.net/archives/000273.html

LunaTear
[Site Map] Linux系関係が中心になりそうな日記
« Sleipnir用リンク作成Script | メイン | rootkit hunter »
2004年04月12日
ディレクトリ同期
[ Linux管理・運用]
マシン間でファイル同期をさせるのにいまいち良いソフトが見つからず困って居たところunisonというソフトを発見したので試してみました。
同期ソフト自体はそれこそたくさんあるのですが、片方同期(と言うよりはバックアップ)メインだったり、両方同期があっても削除したファイルが同期相手からレストアされて同期中のディレクトリにゴミファイルが溜まっていく一方とかどうにも使い勝手が悪いものばかりでした。

そんなこんなで困っていたところ、それを解決出来そうなunisonというアプリがあることを知ったので、インストールして試してみることにしました。

で、ローカルでテストしてみたところまさに理想の挙動をしたので早速採用することにしました。

ちなみにUnisonの特徴は以下の通り

* GUI版もあるが基本的にはコマンドラインベース
* rsyncアルゴリズムを用いた高速な同期
* 前回同期時の状況を記録しているため、増減したファイルを的確に割り出して、コピーや削除してくれる
* コンフリクトした場合の処理をいろいろと選べる

それで、とりあえず同期相手のLinuxの方にも入れて見ることにしました。
動かすだけならダウンロードページからコンパイル済み実行ファイルをダウンロードして、パーミッションを755にすればそれだけで動きます。
が、折角ならソースからコンパイルしようと思い「src.tar.gz」をダウンロードして展開→Makefileでインターフェースをどうするかなどの設定をいじってからmakeしてみると、ocamlcが無いと怒られてしまいました。

使っていたディストリビューションにはcoamlのパッケージが無かったためここから「ocaml-3.05-1.src.rpm」をダウンロードしてrpmbuildしてインストール。

その後unisonをmakeしてみたところ、今度は無事makeに成功( ̄▽ ̄)ノ

で、折角なんでcheckinstallでrpmにして入れようかと思ったら、なんか循環エラーが出るため、断念して、出来上がったunisonの実行ファイルだけシステムディレクトリに移動してインストール終了としました。

で、早速使ってみる事にします。
今回はサーバ側がLinuxでクライアント側がWindowsのcygwin環境です。

まず、これまでcygwin上で

rsync -auvz -e ssh --delete user@hoge.foo.bar:/home/user/datadir/ /cygdrive/c/datadir/
rsync -auvz -e ssh /cygdrive/c/NewDatafile/ user@hoge.foo.bar:/home/user/datadir/
mv /cygdrive/c/NewDatafile/ /cygdrive/c/datadir/

となっていたシェルスクリプトを以下のように修正

unison /cygdrive/c/datadir/ ssh://user@hoge.foo.bar/datadir -batch -prefer older<\pre>

して実行してみると、見事に同期しました。( ̄▽ ̄)ノ
(なお「-prefer older」はコンフリクトしたら古い方を生かすという設定です<上記のケースでは古いファイルの方が重要な事が多かったので)

で次のテスト
これまでは自動削除の為に、cygwin側で新しく作ったファイルは一度「c:\NewDatafile」というディレクトリにおいて、同期してからデータディレクトリに移動してましたが、これだと同期前と同期後でファイルの場所が異なってしまい、ソフトなどの履歴機能が使いにくい状況でしたが、 unisonを使えば解決出来るはずです。

そこで、早速ゴミファイルを同期させてから、クライアント側で削除してから再び同期してみました。
すると、見事にクライアント側でもサーバ側でもゴミファイルが削除されました(≧▽≦)ノ

CUIな辺りも正直バッチでしょっちゅう流すものがGUIっていうのはイヤだったのでありがたいですしssh使って暗号化も出来、セキュリティも安心なのでunisonとは長いつきあいになりそうです(笑)

参考URL:

*
unison - PC説教講座
*
unison/References/Preferences - PC説教講座

Posted by Takuchan at 2004年04月12日 16:28 | トラックバック(2)
コメント - この記事にコメントする
この記事にコメントする

---
共有ツールDropBox


Heartlogic ネットを通じた自己表現、コミュニケーションを研究するサイト

* デジカメ・写真
* モバイル・クラウド
* Web制作
* Web社会
* 散歩
* その他
* このサイトについて

* Heartlogic
* モバイル・クラウドコンピューティング
* 究極のファイル同期・共有サービス「Dropbox」が一般公開。Linux/iPhone対応

究極のファイル同期・共有サービス「Dropbox」が一般公開。Linux/iPhone対応

ずっとクローズド招待制で運営されてきたファイル同期・共有サービス「Dropbox」が一般公開になったとのこと。

Dropbox launches to the public! : The Dropbox Blog

以前に招待をいただいて利用し始めて以来「無くなったら死んじゃうWebサービス選手権」首位に輝き続けているサービスです。以前の記事→「Dropbox」がとてもいいらしい

「Dropbox」の凄いところは、端末へのソフトのセットアップとアカウントの作成さえ済ませてしまえば、後は別になーんにも考えていなくても特別な操作をしなくても、自動、かつ、あっという間に「My Dropbox」フォルダ以下のファイルを同期してくれること。

同期速度もやたらめったら速く。2台のマシンを並べて作業している場合、マシンAの「My Dropbox」に保存したファイルは一瞬後にはマシンBにも(サーバー経由で)同期される。サーバー経由だから同期忘れとかもない。オフライン時には普通のローカルフォルダとして使えるし、次にオンラインになった時、ソッコー(もちろん自動で)同期される。

しかも、サーバー上では履歴管理もしてくれるので、うかつに上書きや削除してしまった場合でも復帰が可能。すばらしい。一度これで命拾いした。

Dropboxのブログを斜め読みしたところによると、

* 公開版にしたよ
* Linux版のクライアントも作った
* 来週には有料オプションを始めるよ(50GBが月額$9.99/年額$99.99)
* 2GBのサービスは今までどおり無料だよ
* iPhone向けUIも公開した→https://www.getdropbox.com/からアクセス可能

iPhone向けページは、その場でPDFやOffice 2007文書も開けてしまうのが便利すぎてヤバい。写真を見るインターフェースも整っている。そして50GBも使えたら写真や動画もガンガン保存できるし、便利すぎて鼻血出そうだ。

追記:セットアップ方法の説明記事作りました
→ファイルの同期・共有・バックアップに使えるオンラインストレージ「Dropbox」 - できるネット+ 編集部ブログ

* タグ:
* Dropbox
* iPhone
* iPod touch
* Webサービス
* 同期

関連記事

* iPhone雑感。買わない理由と世界の料金プラン比較
* オンライン ファイル同期&共有ツール「Dropbox」が増量中
* Dropboxを有料プランにした。ここまでの使用感
* 「Dropbox」の50GB有料プランを検討中
* ソフトバンクモバイル、「iPhone 3G」の料金プランを改定し月額2,990円~に



* 2008.09.12
* [モバイル・クラウドコンピューティング]
* このエントリーを含むはてなブックマーク
* livedoor クリップ
* newsing it!
* Buzzurlにブックマーク

* « イー・モバイルから「Touch Diamond」発売。auから「Touch Pro」発売?
* メイン
* ソニーの新サービス「Life-X」に見た限界と可能性 »

この記事のトラックバックURL
この記事へのトラックバック
管理者について
小林祐一郎 ライター・編集者
heartlogic

heartlogic
Blog Blog Blog delicious Flickr Tumblr Twitter YouTube
Agile Media Network sponsors

企業の最新ニュース・新製品情報満載!ニュースリリース&プレスリリース専門ポータルサイト:

* 『マーケティングリサーチャー、年収30万UP!』M.Aさん、36歳の…
* ◆PINS FACTORY(ピンズファクトリー)◆ ピンズ実例No.4…
* 三菱商事フューチャーズ証券の商品先物オンライン取引「サイバーコモディテ…

Agile Media Network clipping

Podcast Journal -

2009年3月の閲覧記事アクセスランキング・ベスト10

:20時間前

 2009/03/01-2009/03/31に当ブログでアクセスが高かった記事ランキングを紹介です…

広告会議 -

日本新聞協会 「見えないものが観えてくる。-新自聞スタイル-」

:22時間前

日本新聞協会が春の新聞週間キャンペーンサイト「見えないものが観えてくる。-新自聞スタイル-」を開設…

PHPSPOT開発日誌 -

マウスホイール操作が超簡単になるjQueryプラグイン

:11時間前

jQuery mouseWheel Pluginマウスホイール操作が超簡単になるjQueryプラグ…
Agile Media Network sponsor ads
検索
Google 検索用語を入力
Web
www.heartlogic.jp
検索フォームを送信

* ブログSEO対策:track word
* iphone dropbox
* dropbox iphone
* dropbox
* dropbox 共有
* ブログでペット

タグ クラウド

* aboutme
* AirMac
* Amazon
* AMN
* Android
* ATOK
* au
* Becky!
* BLOGENT
* BLOGENT.アフィリエイト
* Blu-Ray
* Bluetooth
* cakePHP
* CGI
* CGM
* Chrome
* CloudComputing
* CM
* Cookpad
* CyberBuzz
* Digg
* Dropbox
* Eee PC 901-16G
* Emacs
* EMONSTER
* EOS 5D Mark II
* Evernote
* EXILIM EX-Z400
* Eye-Fi
* Facebook
* FileZilla
* Firefox
* FMV
* Google
* Himalaya
* ICR-S280RM
* iddy
* ie
* iKnow!
* iPhone
* iPod
* iPod touch
* iPotOn
* iTunes
* Knol
* Life-X
* lino
* Live Mesh
* LOOX U
* LUMIX DMC-LX3
* M42
* MacBook Air
* Markdown
* MIAU
* MICRO GRAST
* Microsoft
* mixi
* MobileMe
* Movable Type
* MySQL
* nanoca
* netbook
* newsing
* OpenSocial
* p-7000
* PHP
* PHS300
* pocketer
* RBK-2100BTJ
* Rolleiflex MiniDigi AF5.0
* RSS
* Safari
* Salesforce
* SBM
* SEM
* SNS
* SSD
* StartMac
* Touch Diamond
* Touch Pro
* Twitter
* ULCPC
* UMPC
* VAIO type P
* VPS
* Web2.0
* Webサービス
* WHR-G300N
* wiki
* WILLCOM D4
* Windows
* Yahoo
* YouTube
* zeiss
* Zorg
* α300
* いちご狩り
* いとうせいこう
* おおきく振りかぶって
* おもしろ
* きずな(WINDS)
* こどもネット文化
* どこでも無線LAN
* なかにし礼
* ねこ
* のだめカンタービレ
* はてな
* はてなワールド
* みのもんた
* アドパートナー
* アフィリエイト
* イー・モバイル
* ウィキノミクス
* ウィルコム
* ガジェット
* クラウドコンピューティング
* ゲド戦記
* コミュニケーション
* コミュニティ
* コミュニティ・アーキテクチャ
* コミュニティ・マーケティング
* ショッピング
* スケールフリー・ネットワーク
* スマートフォン
* ソニー
* ソーシャルメディア
* タッチスクリーン
* タブレット
* ツンデレ
* テレビ
* デジカメ
* デジタルフォトフレーム
* ニコニコ動画
* ニンテンドーDSi
* ネタ
* ネットブック
* ネットワーク
* ハンディカム
* フォト蔵
* ブログ
* ブログデザイン勉強会
* プロフィール
* ポメラ
* マインド強盗
* マウントアダプタ
* マルチドメイン
* マーケティング
* ミュシャ
* ムサビコム
* メディア
* モバイル
* モバゲー
* ラジオ
* リテラシー
* レンタルサーバー
* レンタルサーバー 80code
* ロリポップ
* ワークスタイル
* 事件
* 伊集院光
* 写真
* 割れ窓理論
* 動画
* 北方謙三
* 北海道
* 協調学習
* 同期
* 同期・非同期
* 名刺
* 地図
* 学習
* 実名匿名
* 川島よしお
* 川端康成
* 年賀状
* 広告
* 影響力の武器
* 恋愛
* 情報システム
* 携帯
* 携帯電話
* 政治
* 教育
* 教育・育児
* 散歩
* 新幹線N700系
* 新潟
* 日暮里・舎人ライナー
* 映画
* 書いたもの
* 有栖川有栖
* 本
* 本仮屋ユイカ
* 東浩紀
* 松坂屋
* 柳楽優弥
* 桜
* 梅佳代
* 梅田望夫
* 検索
* 検索CM
* 河合隼雄
* 温泉卓球
* 無線LAN
* 物々交換
* 犯罪
* 独自ドメイン
* 田舎の秀才
* 社会科学
* 秋山ちえ子
* 空気
* 繋がりの社会性
* 職業ブログ
* 育児
* 自己肯定感
* 自己表現
* 色川武大
* 花沢健吾
* 若者
* 荒俣宏
* 萌え
* 著作権
* 表現
* 認知科学
* 速水健朗
* 鉄道
* 集合知
* 電通
* 食べ物
* 鬼ころし

www.flickr.com
What is this?
This is a Flickr badge showing public photos and videos from Heartlogic. Make your own badge here.

Powered by Movable Type 4.25

NINJA TOOLS
ACR WEB

---
http://www.itmedia.co.jp/help/tips/linux/l0518.html

* ミラーリングがしたい~mirror編~

 「ミラーリングがしたい~wget編~」Tipsでは、ツール「wget」を利用して手軽にミラーリングを行う方法を紹介した。

 ここでは、ツール「mirror」を使用してミラーリングを行う方法を解説しよう。ミラーリングとは、単なるファイルコピー(cp)とは異なり、ファイルスタンプを判別して最新ファイルのみをダウンロード、またはアップロードを行うことができる仕組み(ツール)だ。

 ここで紹介するツール「mirror」はPerlスクリプトで記述されており、利用するにはあらかじめPerlが動作する環境が必要だ。コマンドラインで「$ which perl」などと入力すれば、インストール済みかが判断できる。

・mirror入手先
ftp://sunsite.sut.ac.jp/pub/archives/packages/mirror/
# mkdir /usr/local/mirror
# cd /usr/local/mirror
# tar zxf mirror-2.9.tar.gz

# pwd
/usr/local/mirror/
# ln -s mirror.pl mirror

 インストール時に注意する点は、mirror-x.x.tar.gzがディレクトリを作成せずにカレントディレクトリに解凍されることだ。あらかじめ、上記のように「/usr/local/mirror」などとディレクトリを作成しておくのがよい。また、ここでの例では、便宜上「mirror.pl」ファイルを「mirror」としてシンボリックリンクさせておいた(ここでは「/usr/local/」ディレクトリ下に作成するため、すべてrootで行っている)。

 次は、ミラー元サイトにログインするための設定を記述する手順だ。

 アーカイブを展開した/usr/local/mirror/ディレクトリには、「mirror.defaults」ファイルが見られる。このファイルには設定例が記述されているが、次の例を参考にして新たに設定ファイルを作成した方がよいかもしれない。

 なお、設定ファイル内にはパスワードを記述する必要があるため、次のようにファイルオーナー以外が読みとれないようパーミッション変更をしよう。
# chmod 600 mirror.defaults

# vi /usr/local/mirror/mirror.defaults

# パッケージ名
package=default

# ミラーログイン先
site=xxx01.zdnet.co.jp

# ミラーを行うローカルとログイン先の各ディレクトリ
local_dir=/pub/www/help
remote_dir=/help

# ユーザー名とパスワード
remote_user=xxxx
remote_password=xxxx

# 実行ログ通知を行う場合の配送先
mail_to=helpdesk@zdnet.co.jp

# ダウンロードモードは「true」、アップロードは「false」
get_file=true

# パーミッションの設定
dir_mode=0755
file_mode=0644

# ローカル側でファイルを消したらサーバでも削除する
do_deletes=true

# グループ設定
group=help

 なお、次のように設定ファイル内に「package=」以下の行を複数用意すれば、「mirror -p [package名]」(mirror -p enterprise)と指定することで実行可能になる。
....中略....

package=enterprise
site=xxxx.zdnet.co.jp
local_dir=/pub/www/enterprise
remote_user=hoge
remote_password=hogege
mail_to=help-update@zdnet.co.jp
remote_dir=/enterprise
get_file=true
dir_mode=0755
file_mode=0644
group=help

package=developer
site=xxxx.zdnet.co.jp
local_dir=/pub/www/developer
remote_user=hoge
remote_password=hogehoge
mail_to=help-update@zdnet.co.jp
remote_dir=/developer
get_file=true
dir_mode=0755
file_mode=0644
group=help

...以下略...

 上記設定内容にてパッケージ名「enterprise」で「mirror -p enterprise」として実行させた場合、「xxxx.zdnet.co.jp」宛にユーザー「hoge」、パスワード「hogege」でログインし、リモート先「/enterprise」ディレクトリ下を、ローカルの「/pub/www/enterprise」にダウンロード(get_file=true)することを意味する。その際、ディレクトリ作成パーミッションは「755」、ファイル作成パーミッションは「644」、グループは「help」となる。 表■mirrorコマンドオプション

-d デバッグ表示を有効にする
-n ファイル比較のみを行う(実際のミラーは行わない)
-F ファイルの情報を管理するためにDBMを使う
-gsite:pathname 取得するファイルが指定できる。パス名の終端記述が「/」の場合にはディレクトリと見なされるが、ディレクトリであるにも関わらず「/」が書かれていない場合には、リスト判別のためパフォーマンスが下がる
-r 再帰的なディレクトリリスト取得を行わない
-v バージョン表示
-m ファイルの属性もコピーする
-t ファイル転送にftpのテキストモードを使う。指定しない場合にはバイナリモードになる
-f 変更がなくても強制ファイルコピーを行う
-uxxx xxxのユーザ名でftpサーバにログインする(指定しない場合にはanonymousユーザログインになる)
-pxxx 設定ファイル(ここではmirror.default)内の「package=xxx」で指定された設定でミラーリングする
-Rxxx 設定ファイル中のxxxにマッチするパッケージ下の設定すべてでミラーリングする

 設定後は、例えばcronで次のようにスケジュールすることで、自動的に定期的なファイル同期が可能になる。
$ crontab -l

0 10 * * * /usr/local/mirror/mirror -p enterprise 2>/dev/null
3 10 * * * /usr/local/mirror/mirror -p developer 2>/dev/null

http://www.itmedia.co.jp/help/tips/linux/l0518.html

No comments: