

お世話になります。
現在AサーバからBサーバに対して、定期的にrsyncにてサーバ内ファイルの同期を行っています。
毎日更新されているファイル数が数十万ということと、回線が細い為に同期完了まで約2時間程かかります。
その際少し気になる点があります。
例えば、数十万ある同期対象ファイルの中でhoge.txtというファイルがあったとします。このファイルは動的に書き込みが行われるログファイルです。中身はWEBのアクセスログのようなものです。
このファイルを含む数十万のファイルをrsyncで同期を行った場合以下のような現象が起こります。
--条件-------------------------------------------
rsync開始時刻 :01:00
rsync完了時刻 :03:00
rsync開始時の同期元Aサーバにあるhoge.txtのタイムスタンプ :00:58
rsync完了時の同期先Bサーバにあるhoge.txtのタイムスタンプ :00:58
rsyncオプション :rsync -auvvz -e /usr/bin/ssh --exclude '*~' --delete
-------------------------------------------------
上記条件及び結果の元、Bサーバに同期されたhoge.txtを見てみるとファイルのタイムスタンプ自体はAサーバでrsyncを開始した時点でのタイムスタンプ(00:58)なのですが、ファイルの中身を見てみると、ログファイル内にて01:30にアクセスがあったという記録が追記されています。
恐らくは約2時間かかるrsync実行中のうち、01:30以降にAサーバからBサーバに同期が行われたと思うのですが、それであれば、hoge.txtのタイムスタンプ自体も01:30に変わっていなければならないはずだと思うのです。
ちなみにこのhoge.txtというログファイルは書き込みが行われる毎にファイルのタイムスタンプも更新されます。
そこで質問させて頂きたいのですが、rsyncの挙動としてこのようなことはありえるのでしょうか?
それではどうぞよろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
#2 です。
> 確かにこれくらいの数になってくるとアーカイブ化
> した方が良いかもしれないんですが、同期先が同一
(snip)
> 感じではあるんですが)このような方法を続けてしま
> っております。
多分、やってみるとアーカイブ作る方が早いと思いますよ(笑)。rsync はメモリも CPU もかなり消費しますし、ファイル単位での処理が大量に発生することになりますので...
アーカイブは、例えば bzip2(や gzip)を掛けずに作成するというのも手です。遠隔地へのバックアップなら回線がボトルネックになりますので圧縮した方が良いですが、同一セグメントに A・B があるのなら非圧縮でやった方が早いだろうと思います。
# でも同一セグメントにあるのに細い回線、って...?

No.2
- 回答日時:
動作としては #1 さんが書かれているような動作なのでしょうね。
つまり1. 双方のサーバのファイルの属性情報を比較
2. ファイルのコピーを行う
3. ファイルの属性情報の設定を行う
という順になっているのでしょう。1. の時点で取得したファイルの属性情報(更新タイムスタンプなど)を 3. のタイミングで設定すれば、経験されている現象に遭遇することは考えられます。
なお余談ですが、数十万のファイルを rsync で同期するのはかなり厳しいのではないですか? それだけ更新ファイルがあるのなら tar+bzip2 などでアーカイブを作ってから転送した方が短時間で済みそうですし、双方のサーバへの負荷も低そうな気がします。
ご回答ありがとうございます。
やっぱりそういう動作っぽいですね。
>なお余談ですが、数十万のファイルを rsync で同期す
>るのはかなり厳しいのではないですか? それだけ更新
>ファイルがあるのなら tar+bzip2 などでアーカイブを
>作ってから転送した方が短時間で済みそうですし、双
>方のサーバへの負荷も低そうな気がします。
そうなんですよね(笑)
確かにこれくらいの数になってくるとアーカイブ化した方が良いかもしれないんですが、同期先が同一セグメント内ということと、数的にアーカイブ化に時間がかかってしまう為(これは同期でも似たような感じではあるんですが)このような方法を続けてしまっております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- フリーソフト Windowsのフリーソフト「拡張コピー」のタイムスタンプ関係の仕様は、タイムゾーンを反映しますか? 2 2022/06/21 02:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- 法人税 電子帳簿保存法について 1 2022/04/07 11:17
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- その他(クラウドサービス・オンラインストレージ) OneDrive同期が完了しない。(windows10) 4 2023/04/06 02:27
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
onedriveの中身を削除したらパ...
-
教えてください!困ってます。
-
office365 ファイルを削除したい
-
IPテレビのプレイリストだとお...
-
mrl→midファイルへ
-
emlをtxtに変換するには?
-
mac ファイルの詳細情報を編集...
-
Windows10 フォルダ内の自動並...
-
ファイルの先頭行を全て削除したい
-
同期センターのマークが出てま...
-
VScodeでjarファイルを開く方法
-
クラリスワークスのファイルを...
-
フォルダ内の一覧を印刷するには?
-
ファイル移動・コピーができない
-
macのdmgファイル(動画)をMP4...
-
macでjwcadのファイルをpdf化に...
-
.tmp.mp4と.mp4の違い
-
MacのPagesで、ファイルの分割...
-
アーカイブってなに?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
教えてください!困ってます。
-
emlをtxtに変換するには?
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
コマンドプロンプトによるフォ...
-
ファイルの先頭行を全て削除したい
-
mrl→midファイルへ
-
外字ファイル、eudc.tte と e...
-
バッチファイルで変数の中身を...
-
office365 ファイルを削除したい
-
Windows10 フォルダ内の自動並...
-
ファイルの単位
-
ショートカットアイコンと、元...
-
VScodeでjarファイルを開く方法
-
macのdmgファイル(動画)をMP4...
-
バッチファイルからタスクスケ...
-
フォルダ内の一覧を印刷するには?
-
mac ファイルの詳細情報を編集...
-
Excellにて→ファイルエラー:デ...
おすすめ情報