タグ付けされた質問 「rsync」

rsyncは、ローカルまたはリモートでディレクトリ階層を効率的にコピーするツールであり、強力なフィルターを使用して、何をコピーするかを決定します。

6
GNU Parallelを使用してrsyncを並列化する
rsyncスクリプトを使用して、あるホストのデータを別のホストのデータと同期させています。データには、ほぼ1.2 TBに寄与する多数の小さなサイズのファイルがあります。 これらのファイルを同期するためにrsync、次のコマンドを使用しています。 rsync -avzm --stats --human-readable --include-from proj.lst /data/projects REMOTEHOST:/data/ proj.lstの内容は次のとおりです。 + proj1 + proj1/* + proj1/*/* + proj1/*/*/*.tar + proj1/*/*/*.pdf + proj2 + proj2/* + proj2/*/* + proj2/*/*/*.tar + proj2/*/*/*.pdf ... ... ... - * テストとして、これらのプロジェクトのうち2つ(8.5GBのデータ)を選択し、上記のコマンドを実行しました。順次プロセスであるため、完了までに14分58秒かかります。したがって、1.2TBのデータの場合、数時間かかります。 複数のrsyncプロセスを並列に実行できる場合(&、xargsまたはを使用parallel)、時間を節約できます。 私はparallel(cdソースディレクトリにingした後)で以下のコマンドで試しましたが、実行に12分37秒かかりました: parallel --will-cite -j 5 rsync -avzm --stats --human-readable {} REMOTEHOST:/data/ …

1
ファイルを同期する最良の方法-既存のファイルのみをコピーし、ターゲットよりも新しい場合のみ
Ubuntu 12.04でこの同期をローカルで実行しています。ファイルは通常、小さなテキストファイル(コード)です。 私はから(mtimeのスタンプを保存)をコピーしたいsourceのディレクトリtargetが、私はのみで、ファイル場合コピーしたいtarget すでにが存在している高齢の1以上source。 ですから、sourceでは新しいファイルのみをコピーしていますが、に存在している必要targetがあります。そうしないとコピーされません。(。sourceより多くのファイルがありtargetます。) 実際sourceに複数のtargetディレクトリからコピーします。ソリューションの選択に影響する場合に備えて、これについて言及します。ただし、target必要に応じて、新しいコマンドを毎回指定して、コマンドを複数回簡単に実行できます。

1
特定の深さのサブフォルダーで再帰的にrsync
私がしたいrsync再帰的にフォルダだけが特定の深さに含まれるサブフォルダをしたいです。 たとえば、次のように1、2、3、または4つのサブフォルダーの深さが必要です。 source/ ├── subfolder 1 │ ├── subsubfolder │ │ ├── subsubsubfolder │ │ │ └── wanted with depth 4.txt │ │ └── wanted with depth 3.txt │ └── wanted with depth 2.txt ├── subfolder 2 │ └── wanted with depth 2.txt └── wanted with depth 1.txt


3
rsyncでファイルを移動してディレクトリを削除しますか?
最近、大量のファイル(100万を超える)を削除する必要がありました。 rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source それを行うための最も最適化された方法の1つであり、それよりも高速であることを保証できrm -rfます。 私はこの問題の専門家ではありませんが、rsyncのパフォーマンスの理由は、ファイルをリストする方法(FIFOではなくLIFOの場合)に何らかの理由があります。問題は、大量のファイルを効率的な方法で移動する必要があることです。少し検索した後、私はこれを見つけました: rsync -av --ignore-existing --remove-source-files ~/source ~/destination これにより、に移動したすべてのファイルが削除されますが~/source、ディレクトリはそのまま残ります。「ラウンドロビン」のようなディレクトリ構造を持っているため、の数はfiles/directories1に非常に近いため、ディレクトリを完全に削除するには、最初のコマンドを再度実行する必要があります。 rsync -av --ignore-existing --remove-source-files ~/source ~/destination && \ rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source ストレートmvはほぼ瞬時に終了し~/destinationますが、私のディレクトリには保持する必要があるファイルがあるためmv、オプションではありません。--prune-empty-dirsおよび--forcersyncオプションを見つけましたが、どちらも期待どおりに動作しないようです: --force force deletion of directories even if not empty --prune-empty-dirs prune empty …

3
`mv`を使用して空でないディレクトリを強制的に上書きする方法
ファイル/ディレクトリのグループを、ターゲットディレクトリ内のファイル/ディレクトリと名前が競合する別のディレクトリに移動(コピーするだけでなく)したいです。私の主な目的はファイルを移動することであるため、空でないディレクトリが上書きされることを許容できます。 私は現在使用していますmv ... destinationが、時々 mv:「target」を/ destination / targetに移動できません:ディレクトリが空ではありません 私はmv -f ... destination成功せずに試しましたが、ファイルを元の場所から削除したいので、rsync適切ではないようです。 ボーナスとして、おそらく名前を変更することによって何らかの方法で上書きされることを意図したファイルを保存するための良い解決策はありますか?
17 files  rsync  rename 

2
rsyncは、nfs-shareからローカルdirにファイルをコピーする際のcpと比較して非常に遅い(係数8〜10)
新しくインストールしたUbuntuサーバーは、VMストレージの新しいバックアップサーバーになるはずです。サーバーには4つのNICがあり、そのうち2つは10Gbit(実際には最新のドライバーを備えたIntel x540-T2)であり、SANへの接続に使用されます。nfs-shareをローカルにマウントし、約30個のファイル、約15個のvm-imagesおよび対応するログファイルを含むディレクトリをコピーしながら、速度の違いを比較しました。画像のサイズは8 GB〜600 GBです。 を使用して: cp -rf /mnt/nfs-share /backup-storage/ その結果、bmonは約600 MiB / sを示します。 を使用して rsync -av /mnt/nfs-share /backup-storage/ bmonは最初の数秒間にいくつかのパケットを表示し、約30秒間停止し、その後約60〜75 MiB / sになります。CPUは約60%です。 とrsync同じパフォーマンスで使用するために何を変更する必要がありcpますか?
17 ubuntu  rsync  performance  cp 

2
rsync:権限のないファイルをスキップします
rsync -rlptD別のユーザーからディレクトリをコピーするために使用しています。コピーする権限がないファイルがいくつかあります(これらを事前に知る方法はありません)。rsyncがこれらを無視する方法はありますか?問題は、rsyncがゼロ以外を返すと、bash -xスクリプトが終了することです。

1
rsync出力から「ダイアログ」を使用してプログレスバーを作成する
rsync出力を「dialog --gauge」コマンドに入力できる方法でフィルタリング/リダイレクトする方法を探しているので、ファイル同期中に見栄えの良いプログレスバーを取得できます。現在、プロンプトで直接テストしているだけですが、(bash)シェルスクリプトでこれを行う予定です。 私はインターネットを見回し、細かく見つけましたが、それを機能させるための何かがまだありません (免責事項:これは完全に間違ったアプローチである可能性があり、リダイレクト/パイピングの怪物です) 私が現在まとめているもの: rsync -avz --progress -e "ssh" user@server:/home/user/data/ /home/user/data | awk -f /home/user/rsync.awk | sed 's/\([0-9]*\).*/\1/' | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70 最初に--progressオプションを指定した実際のrsyncコマンドがありますrsyncからの出力はawkにパイプされ、以下のawkフィルターを使用します。 { if (index($0, "to-check=") > 0) { split($0, pieces, "to-check=") split(pieces[2], term, ")"); split(term[1], division, "/"); …
16 linux  bash  scripting  awk  rsync 

1
rsyncで除外されているファイルを含める方法
私はすべての.*ファイルを除外するrsyncを設定しようとしています.htaccessが、残念ながら、これは機能しません: rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir 一般的な除外ルールを何らかの形で除外することは可能ですか?
16 rsync 

1
rsyncが見つからないのはなぜですか?
rsync -avP /home/user/.profile hpux3:/home/user/.profile bash: rsync: command not found hpux3マシンにsshを実行した場合 rsync version 3.1.1 protocol version 31 Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ output truncated 私が設定しているPATHに$HOME/.profileして$HOME/.bashrc。/etc/profileファイルに設定する必要がありますか?
16 rsync  path 

1
rsyncがネットワーク上の単一ファイルのデルタ転送を使用しないのはなぜですか?
私はこの質問とこの質問を見てきましたが、彼らは私が見ている症状に対処していないようです。 携帯電話ネットワークで転送しようとしている大きなログファイル(約600 MB)があります。それはそれだけに追加されたログファイルがあるので、それが唯一のINSERTとSQLiteのデータベースに実際にあるが、(それがないので、実行されて、非常にそのような単純な、しかし最後の4Kページの例外を除いて(または多分データ接続が計測されるため、変更(および送信する必要のあるチェックサム)のみが実際に送信されることが重要です。 それでも、従量制の接続(無料のwifiホットスポットなど)でテストを実行しても、データ転送の速度が向上したり、データ転送が減少したりすることはありません。遅いWiFi接続では、1MB / s以下のオーダーで表示され、転送には20分近くかかると報告されています。高速のWiFi接続では、一定の高速化が見られますが、高速化の報告はなく、転送の2回目の試行(2つのファイルが同一であるため、より高速になります)に違いが現れます。 私が使用している(機密情報を削除するためにサニタイズされた)コマンドは次のとおりです: rsync 'ssh -p 9999' --progress LogFile michael@my.host.zzz:/home/michael/logs/LogFile 最後に得られる出力は次のようになります。 LogFile 640,856,064 100% 21.25MB/s 0:00:28 (xfr$1, to-chk=0/1) どんな種類の高速化にも言及していません。 問題は次のいずれかであると思われます。 コマンドラインオプションがありません。ただし、マニュアルページを読み直すと、デルタ転送がデフォルトで有効になっていることが示唆されているようです。無効にするオプションしか表示されません。 サーバーがsshのみを許可するファイアウォールの内側にあるため、rsync over ssh(非標準ポートでも)を使用しています。ただし、rsyncデーモンが実行されていない場合、デルタ転送が機能しないことを明示的に示すものは見ていません。「:」の代わりに「::」表記を使用しようとしましたが、マニュアルページでは「モジュール」が何であるかが明確ではなく、無効なモジュールを指定したためにコマンドが拒否されました。 私は以下を除外しました: ローカルネットワークで実行されないデルタ転送。インターネット経由で転送を実行しようとしているため除外 チェックサム計算によるオーバーヘッド。高速と低速の両方のWifi接続でこの動作を確認しましたが、転送速度は計算限界ではないようです。
15 rsync 

4
あるサーバーから別のサーバーに数百万のファイルを転送する
2台のサーバーがあります。そのうちの1つには1500万のテキストファイル(約40 GB)があります。それらを別のサーバーに転送しようとしています。それらを圧縮してアーカイブを転送することを検討しましたが、これは良い考えではないことに気付きました。 そこで、次のコマンドを使用しました。 scp -r usrname@ip-address:/var/www/html/txt /var/www/html/txt しかし、私はこのコマンドが約50,000個のファイルを転送するだけで、その後接続が失われることに気付きました。 ファイルのコレクション全体を転送できるより良いソリューションはありますか?rsync接続が失われたときに転送されなかったファイルを転送するようなものを使用することを意味します。別の接続割り込みが発生した場合、ファイルを転送するためにコマンドを再度入力し、すでに正常に転送されたファイルを無視します。 scp常に最初のファイルから始まるため、これは不可能です。

2
rsyncがブロックサイズ> 128Kを許可しないのはなぜですか?
このような大きな*で rsyncを実行し--block-sizeます。 rsync -avvz --rsh 'ssh -c arcfour' --block-size 1048576 --inplace --progress example.com:/big.file /big.file 次のエラーが表示されます。 Invalid block length 1048576 [sender] 両端で64ビットCentOS 6.4が実行されています。グーグルから--block-sizeはるかに高い値で使用されているのを見ましたが、なぜこれが私のために機能しないのですか? * rsyncがCPUを永久に44%回転させて300GBファイルにするバグを回避しようとしているため、大きなブロックサイズを使用しています
15 rsync 

3
ビットが同一のコピー用の基本的なrsyncコマンド
私が理解している限りでは、次のコマンド: sudo rsync --delete -azvr /home/oshiro/Desktop/source/ /home/oshiro/Desktop/destination 1つの場所から別の場所へのファイルの単純な同期を作成するのに必要なのはこれだけですか?または、上記のコマンドは私が知らないバックグラウンドで何かをしますか?たとえば、過去の時間を指定してファイルを取得できるバージョン管理を作成しますか? これは、この段階では有効にしたくない機能です。私が欲しいのは、ある場所から別の場所へのファイルのビット同一コピーです。これらのパラメーターのいずれかを削除することはできますか、またはバージョン管理なしでコピーをビット同一にするためにパラメーターを追加する必要がありますか。基本的に、Mac Time Machineバックアップシステムがバックアップを作成する方法のバックアップを作成する必要はありません。
15 backup  rsync 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.