Linuxのフォルダ比較ファイルと違い魔法スキルを抽出-rsync
[日付:2016年2月13日] | 出典:oschina.net著者:mengshuai | [フォント:タイ 忠 小 ] |
HTTPS:// www.linuxidc.com/Linux/2016-02/128307.htm 試しにしばらくの間だけBaiduの会社への朝
需要
最近のチームは、バージョン比較ツールを開発して、出力フォルダ内の増分部分A2は、増分/差分下請け業者を生成するためのアップグレードパッケージ、更新に、比較フォルダA1とA2に必要とされます。
研究プログラム
最初の機能は、単一のファイルが、実質的に、比較MD5比較に存在し、その結果を出力するが、このアプローチは最低レベルであり、時間複雑度はO(n²)であり、この反応は、それぞれ横切る2つのフォルダを達成することですこれは、直接否定です。
すなわち、カーネルパッチ共通デフ+パッチプログラムの後の深さの調査、
diff -urNa dir1 dir2
差分ファイルを生成した後、patchコマンドを変更するために使用されるファイルやファイル内容をコピーします。これを達成するためには、需要が仕事の差分結果を解析マニュアルコードに起こっていることは明らかです。また、複雑な。
突然。。またはフラッシュ効果を持つものと同様の漫画のシーンコナン内部のフレーズmasakaが登場しました...
あなたはないことを、多くの場合、増分同期サーバー用に、中間ファイルの提出を必要としないフォルダの違いを分析するだけでなく、比較のモードチェックサム、MOD-時間、サイズの様々なサポートするだけでなく、バイナリのsvnをフィルタリングすることができますそれをrsyncを。。。(どこでrsyncのは、フォントサイズより10倍大きいが、値下げを変更することはできません)
あなたは、フォルダ、それの内容を変更することなく、C Bに同期したファイルフォルダをリダイレクトすることができれば、今解決すべき唯一の問題は、rsyncのは、BフォルダにAからフォルダを同期していますか?
rsyncの男乗り越えた後にああ〜--dry-実行し、この試験では、パラメータの意味を実証することです。。ドライランの使用のみを見ることができ、変更されません。。。
すぐにコーディングを開始。。。
ステップ1
A1.1新しいフォルダ増分ファイルがA1.1にA1.0のディレクトリ構造を維持するために配置されてから、A1.0は、古いフォルダです。
rsync --dry-run -rcnC --out-format="%n" A1.1/ A1.0/
ファイルをフィルタリングするために、CVSのルールを無視するに従って、-Cパラメータを同期させる必要はありません、CVSで、デフォルトはバイナリファイルが提出されていないであることに注意してください、あなたはバイナリファイルを抽出する必要がある場合に、C.は追加しない
実装ファイルA1ディレクトリのリストを取得するためのコマンド:
A1.1 /システム/アプリケーション/
A1.1 /システム/アプリケーション/ A.apk
A1.1 /システム/アプリケーション/ B.apk
A1.1 /システム/アプリケーション/C.apkは、
デフォルトの表示は、フォルダが表示されますので、ここではフォルダの最後に「/」からそうフィルタに、差分ファイルであります
rsync --dry-run -rcnC --out-format="%n" A1.1/ A1.0/ |grep -v "/$"
これは純粋なデルタファイルの一覧が生じました
ステップ2
ファイルの一覧で、多くの操作の方法をコピーします。あなたは、問題を解決するために、エラーファイルを複数回を防ぐために、新しいカタログを同期するために使用rsyncをし続けることができ
、完全なコードを
rsync --dry-run -rcnC --out-format="%n" A1.1/ A1.0/ |grep -v "/$"|xargs -I{} rsync -R A1/./{} out/
ゲット!
概要
実際には、我々は強力な機能で、周りの一般的なツールがたくさんあります。実際には、プログラムの猿このグループ、「衝動」としてマスターと新人を分けるラインがあります。実際には、マスターの数は言語を習得していない、モデル番号、オープンソースツールのコレクションの数を知っている...
しかし、必要なすべてのステップを取りますか。
ファイルのバックアップ、同期のためのrsyncが詳細 http://www.linuxidc.com/Linux/2014-09/106967.htm
ホストファイルを監視しinotifywait使用やディレクトリ http://www.linuxidc.com/Linux/2013-03/81075.htm
使用inotifyを+ rsyncをLinuxのファイルバッチ更新を実装 http://www.linuxidc.com/Linux/2012-01/52132.htm
inotify-toolsを+リアルタイムのインストールで同期ファイルへのrsyncと設定 http://www.linuxidc.com/Linux/2012-06/63624.htm
rsyncの同期完全な構成 http://www.linuxidc.com/Linux/2013-06/85781.htm
CentOSの rsyncのリモート同期の下で6.5 http://www.linuxidc.com/Linux/2014-05/101084.htm
Rsyncの詳細:こちらをクリック
rsyncのダウンロードアドレスを:こちらをクリックしてください
この記事は恒久的に更新されたリンクアドレス:http://www.linuxidc.com/Linux/2016-02/128307.htm