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

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

3
rsyncの片側をそんなに忙しくしているのは何ですか?
私のLANには、他の人のバックアップサーバーとして機能するDebianマシンがあります。4つのHDDがソフトウェアRAID 5 mdデバイスに結合されており、そのLVMとそのbtrfs上にあります。バックアップはrsyncを使用して行われ、大きなファイルシステムの場合は1時間以上かかります。長い間、私はこれについてできることはほとんどないと思っていました。 しかし最近、転送の両端でHDDアクティビティが大きく異なることに気付きました。Gentooを実行していて、ほとんどがext4を使用している送信側には、ディスクIOがほとんどありませんでしたが、受信側は常にビジーでした。ほとんどのデータは転送間で変化しないので、メタデータの読み取りはデータの大部分を占めるはずだと思います。しかし、btrfsでiノードを読み取ることがext4で同じことを行うよりも多くの作業であるとしたら、私は本当に驚きます。 iotop 受信側で約1〜4 MB /秒のディスク読み取りを確認しましたが、送信側ではたまに0.5 MB /秒のバーストしかありませんでした。 私の質問は、誰かがここで何が起こっているのか説明できますか?できれば、問題を回避する方法を示してください。 おそらく、私が使用できるいくつかのbtrfsチューニングフラグ、または類似したものがあります。バックアップサーバーにスナップショット機能を備えたFSが必要です。FreeBSDとZFSを使用しようとすると、すぐにFSの一貫性が失われるため、現時点ではbtrfsに代わるものはほとんどありません。したがって、ext4またはzfsを使用するように指示する回答は、賛成票を受け取る可能性がありますが、チェックマークは受け取りません。 cjmからの要求に応じて、使用中のRsyncオプション: --rsync-path='rsync --fake-super' --archive # -rlptgoD --hard-links # detect and preserve these --acls --xattrs --sparse --noatime # based on patch from samba #7249c1 --delete --delete-delay --fuzzy --human-readable # size suffixes, base 1000 --stats また、-fいくつかのファイルを除外するための一連のルール。 btrfsのマウントオプションは、次のように報告さmountれます。 rw,nosuid,noexec,noatime,nospace_cache 特に、これにはnoatimeフラグが含まれているため、一部のファイルに実際に違いがない限り、書き込みは必要ありません。私は、に応じてこの情報を追加した答えによって、カイル・ジョーンズ。
11 performance  rsync  io  mdadm  btrfs 

2
シンボリックリンクをコピーし、rsyncを使用するように指定します
これはで行う必要はありませんが、rsyncこれを行うためにスクリプトを作成する必要rsyncがなく、私が望むものに非常に近いです。 rsync -a(または-l)は、シンボリックリンクを保持したり、-Lシンボリックリンクを逆参照したり、通常のファイル/ディレクトリのようにコピーしたりできます。ただし、シンボリックリンクを保持し、リンクが指すファイル/ディレクトリをコピーすることは可能ですか? ここに例があります。次のフォルダ階層があるとします。 dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirB/not_this_file dirC/file dirC/file2 dirD/others そして、私がrsync -aR dirA dest(または何か他のものを)するとき、私はこれらを正確に表示させたいですdest: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirC/file dirC/file2 これは可能rsyncですか?ありがとうございました。 絶対パスを持つ、またはソースディレクトリの外部を指すシンボリックリンクは無視できると仮定します。
11 symlink  rsync 

3
rsyncによる双方向同期
rsyncで双方向または双方向の同期をセットアップしようとしています。私の場合、BからAに同期するときにファイルを削除するだけで済みます。したがって、次のようにrsyncを2回実行することを考えていました。 rsync -rtuv ./A/ ./B/ rsync -rtuv --delete ./B/ ./A/ このソリューションのこの問題は、rsync(AB)を実行した直後にrsync(B-> A)を実行すると、同期の間に作成された新しいファイルも削除されることです。 この日時より前に作成された場合にのみファイルを削除するという条件としてタイムスタンプを指定できる方法はありますか? 更新しました: 私はユニゾンの解決策があることを理解していますが、ユニゾンの問題は両端にインストールする必要があります。リモートサーバーと同期していますが、リモートエンドにunisonをインストールできません。

2
.svnフォルダーとそのサブコンテンツを除くRsync?
Subversionリポジトリと、それがどのように機能するかを十分に理解していない新しいユーザーに対処する。 要するに、ランダムな.svnフォルダーのコピーが原因でローカル構造が台無しになったため、次のことを行いました。 ローカル構造をステージングと呼ばれるフォルダーにコピーしました ステージングディレクトリからすべての.svnフォルダを再帰的に削除しました 「クリーンフォルダー」にレポをチェックアウトしました これで最終段階になりました。ステージングフォルダーのコンテンツを取得して、クリーンなコンテンツを上書きします。 コマンドでステージングディレクトリの内容をクリーンディレクトリにコピーし、クリーンディレクトリのみにあるものをすべて削除する必要がありますが、クリーンフォルダの.svnフォルダはそのまま残します。 これはrsyncの仕事のように思えます。次のコマンドは正しいでしょうか? rsync -avr --exclude=.svn* [staging] [clean]
10 rsync  subversion 


5
慎重に動くRsync
私はラップトップとネットブックの間でホームディレクトリを同期するためにrsyncを正常に使用しています(両方ともLinuxでext4を使用しています)。私の唯一の問題は、時々私が特定のディレクトリを完全に再編成することを好むことです。rsyncはこれを削除と新しいファイルの作成と見なし、非常に遅く非効率的になります。 ファイルの移動をうまく処理する優れたソフトウェアを知っている人はいますか? 私はそれを見つけたユニゾンは、このことが可能でなければならないが、それは実際に動作するようには思えません。私はユニゾンをテストし、それぞれに大きなファイルが含まれる2つのローカルディレクトリを同期しましたが、移動が削除+作成として検出され、実際にはrsyncよりもさらに低速でした。 さらに、2か月前にunisonのソースコードを見たときに正しく覚えていると、和算を行うような試みが行われ、理想的な解決策として和算を実行したくありません。ファイル/ディレクトリ。私は次のようなことに気づくものをお願いします: "このファイルの最後のソースの対応物は削除されたようであり、同じmdate、サイズ、およびiノード番号を持つソースディレクトリツリーの別の場所に新しいファイルがあるため、これは移動であると仮定します。削除+コピーを行う代わりに、それに対応するターゲットを移動します。 " これらのマシンをすばやく同期できることが私にとって重要です。 助言がありますか?

5
自動ピア検出によるディレクトリ同期
アマゾンクラウドの自動スケーリング機能(ドキュメント)の背後にあるLinuxサーバーのクラスターで作業しています。各サーバーに蓄積されるファイルがあり、それらはアプリケーションのキャッシュファイルです。サーバー間でフォルダーを同期させる自動化された方法を探しています。 Rsync 誰かがピア検出を行う賢い方法を持っている場合に機能します。 同じことが当てはまりますUnison。 DropboxなどのSaaSの使用も検討しました。 Glusterはやり過ぎのようで、新しいコンピューターをクラスターに自動参加させるのがどれほど簡単かはわかりません。 理想的には、新しいサーバーが起動すると、サーバーがピアを検出し、フォルダーの同期を開始します。それ以降は、最新のファイルスタンプがP2P同期を獲得します。 これを行うものはありますか?
10 linux  rsync  cluster 

5
ファイルシステムをそのまま正確にコピーするにはどうすればよいですか?
私がプログラミングしているデバイス用のファイルシステムがあり、正確なコピーを作成したいと考えています。理想的には、このコピーを、コピー元のフォルダーと同一にする必要があります。私が使って試してみましたcp -r cp -aし、rsync -azvPこれを達成しようとします。ただし、それぞれが異なるサイズのフォルダーを生成し(を使用du -s)、最終的に、デバイスが元のフォルダーで実行されても、コピーしたものでは実行されません。 私が使用したコマンドが考慮に入れられていないことは何ですか? ファイルシステム/フォルダーをコピーするときにすべてを同一に保つことは可能ですか?もしそうなら、私はそれをどうやってやりますか? PS私はStackOverflowに同様の質問を投稿しましたが、間違った交換で質問したことにすぐに気付きました 編集:これは役に立たないかもしれませんが、コピーしたディレクトリを使用する方法に関係なく、問題のマシンは常に次の出力でカーネルパニックを引き起こします。 VFS:NFS経由でルートfsをマウントできません。フロッピーを試しています。VFS:ルートデバイス「nfs」またはunknown-block(2,0)を開けません。正しい「root =」ブートオプションを追加してください。使用可能なパーティションは次のとおりです。1f0064 mtdblock0(ドライバー?)1f02 64 mtdblock2(ドライバー?)1f04 2432 mtdblock4(ドライバー?)1f05 128 mtdblock5(ドライバー?)1f06 4352 mtdblock6(ドライバー?)1f07 204928 mtdblock7(ドライバー?)1f08 50304 mtdblock8(ドライバー?)0800 8388608 sdaドライバー:sdカーネルパニック-同期しない:VFS:ルートブロックをunknown-block(2,0)にマウントできません
10 linux  filesystems  rsync  cp 

3
複数のリモートサーバーへのrsync
複数の別々のサーバーに送信したいファイルがあります。複数の宛先に名前を付けることはできますか? rsync foo.png server1:foo.png server2:foo.png これにより、「予期しないリモートarg:server1:foo.png
10 rsync 

3
rsync mkstempが失敗しました。Box.comクラウドのdavfsマウントで無効な引数(22)
これらの指示に従ってdavfsを使用してBox.comクラウドストレージをマウントしました。Box.comアカウントを/ home / me / Cloud / Boxにマウントしました マウントされたファイルシステムには、Dolphinとターミナルの両方からアクセスできます。少し遅いですが、ディレクトリ構造全体をリスト(ls)でナビゲートでき、エラーは発生しません。 次に、次のようにrsyncを実行しようとしました。 rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music 私も試しました: rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music およびrsyncコマンドの他のバリエーション。コマンドは、ローカルファイルシステム(/ home / me / Music /)からdavfsマウントを介してボックスクラウド(/ home / me / Cloud / Box / Music)に音楽をコピーしています。 私は常にこの形式のエラーをたくさん受け取ります: rsync: mkstemp <filename> failed: Invalid argument (22) 具体的な例は次のとおりです。 rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" …

1
authorized_keysで任意のディレクトリに制限付きのrsync(rrsync)スクリプトを許可します
バックアップの自動化 Webサーバー(WebServer)からローカルバックアップサーバー(BackupServer)にさまざまなディレクトリからデータをコピーするバックアップソリューションを実装したいと思います。バックアップは無人で実行する必要があるため、パスワードなしの秘密鍵による鍵ベースの認証を使用したいと思います。 特権Rsync バックアップしたいディレクトリは、特権ユーザーだけが読み取ることができます。rsyncを使用してファイルをコピーしたいと思います。専用のバックアップユーザーを作成し、visudoルールでパスワードの入力を求められることなく、ユーザーがsudoでrsyncを実行できるようにしました。 backup-user ALL = NOPASSWD: /usr/bin/rsync セキュリティに関する考慮事項 WebServerのauthorized_keysファイルにコマンドのリストを追加して、バックアップユーザーが実行できるコマンドを制限することで、セキュリティを向上させたいと思います。この投稿で述べたようにrrsyncをインストールしました。 command="/usr/bin/rrsync",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAA134143NzaC1yc... Rrsyncはサブディレクトリを期待します 通常のrsyncとは対照的に、rrsyncは、このブログの投稿で説明されているように、承認されたキーファイルにサブディレクトリが提供されることを期待しています command="/usr/share/rsync/rrsync /var/backup/client1/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa この制限は機能しますが、特定のディレクトリ、つまり/ var / backup / client1 /のみをバックアップできます rsyncコマンドでBackupServerからバックアップしたいディレクトリを提供したいと思います。rsyncとまったく同じようにrrsyncを使用する可能性はありますか? rsync -avze ssh --rsync-path='sudo rrsync' backupuser@111.222.33.44:/media/data /backups/Server/ 追加の説明 authorized_hostsのcommand = "..."部分は、このユーザーの実行可能なコマンドを提供されたものに正確に制限していることを認識していますが、通常のrsyncを使用して、次のようにして、バックアップするパスを指定できます。パラメータ: command="/usr/bin/rsync --server --sender -vlogDtpre.is . ${SSH_ORIGINAL_COMMAND//* \//\/}" これはrrsyncでは機能しません。 承認されたソリューション 技術的にはこの質問に対する明確な回答ではありませんが、Gillesによって投稿されたソリューションは非常に優れたアプローチだと思います。バックアップする実際のディレクトリのすべてのビューのルートフォルダを作成しました。このため、認証をrrsyncのみに安全に制限できます。 One time …
10 ssh  rsync  backup 

3
rsync --files-fromファイルにコメントを入れる方法はありますか?
rsyncが--files-fromとして使用するファイルがあります。 dir1 dir2 dir3 私はそのように各dirエントリの上にコメントを付けられるようにしたいです: # my dir1 comment dir1 #dir2 comment dir2 #yet another comment dir3 しかしrsyncは「そのようなファイルやディレクトリはありません」と文句を言う これまでに#、//、-,, SPACEを試しました エントリをコメントアウト/無効にする方法はありますか?
10 rsync 

2
2つのLinuxサーバー間で数百万のファイルを同期する
ローカルディスクからNFSを介してネットワーククライアントに約700万のファイル(主に画像)を含むディレクトリをエクスポートするサーバーがあります。 HAのために2つ目を追加する必要があり、2つ目間のデルタができるだけ少なくなるように、1つ目と同期させる必要があります。 調査では、lsyncdまたは他のinotifyベースのソリューションを使用することを提案していますが、inotifyウォッチを作成するファイルの数を考えると、永遠にかかります。rsyncについても同様です。 他の可能な解決策があるように思わDRDB、またはクラスタファイルシステムなどのCEPHやglusterfsが、私はそれらの経験がない、もう1つは、より適切であるかを知ると、その多くのファイルとよく対応し、まだまともなパフォーマンスを提供していません。 アクティビティはほとんど読み取られ、書き込みはほとんど発生しないことに注意してください。

2
tar、gzip、rsyncを使用してスパースファイルの操作を高速化するにはどうすればよいですか?
スパースファイルがあります。(du -h3Gをdu -h --apparent-size報告し、100G を報告します。)これまでのところ、とても良い。 今、を使用してファイルを圧縮するtarか、ネットワーク経由で送信rsyncする場合、3Gと同じくらいの時間がかかります。これらのツールはすべてゼロを読み取るようです。 穴はどういうわけかマークされていて、これらのツールはどういうわけかそれらをスキップできると思いましたか? 私のファイルにはおそらく問題はありませんか? これはスパースファイルの欠落機能でtarありrsync、スパースファイルを検索しないのですか?tarパラメータを使用しました--sparseが、速度は向上しませんでした。rsyncパラメータもしませんでした--sparse。 スパースファイルでこれらのツールを高速化する方法はありますか?

4
rsync、送信側で削除された受信側のファイルを削除します。(しかし、すべてを削除しないでください)
rsyncを使用して... 送信側でも削除された受信側のファイルを削除する 受信側のrsyncedディレクトリにある他のファイルを削除しない たとえば、私がディレクトリを持っているとしましょうlocal-src: 変更前: local-srcローカルに含まれる... a.txt b.txt c.txt toのコンテンツに同期したいリモートディレクトリlocal-srcはという名前remote-srcです。 変更前: remote-srcリモートで含む... a.txt b.txt c.txt d.txt README.md 私がいくつかのファイルを削除したとしましょうlocal-src: ローカル削除後: local-srcローカルに含む... c.txt ソースで削除されたファイルが宛先でも削除されるように、ただし宛先で他のファイルを削除せずに、rsyncをどのように使用できますか?たとえば、宛先で次のようにしたいとします。 ローカル削除後: remote-srcリモートに含む... c.txt d.txt README.md つまり、a.txtおよびb.txtリモートからも削除されますが、d.txtとREADME.txt放置されています。 rsyncでこれを達成する方法はありますか? 編集:評決はこれがrsyncでは不可能かもしれないということであるようです。これが必要な理由を尋ねられたので、私のユースケースを説明します。 Webサーバーがあるとします。そのWebサーバーには、多数のディレクトリがあります。たとえば、ディレクトリAとpublic_htmlサイトの提供元のディレクトリがあるとします。ディレクトリにファイルを作成する自動化されたプロセスがあるとしますA。内にある可能性のある他の任意のファイルを削除せずに、ディレクトリに生成または更新されたファイルをrsync(または他のツールを使用して同期)したい。rsyncが誤って自分のウェブサイトを削除して欲しくないのは確かです。Apublic_htmlpublic_html rsyncがこのジョブのツールではない場合、他の誰かが私がこれを行う方法を知っていますか?
9 rsync 

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