rsyncを使ってバックアップする


10

現在、(1)コピー先の外付けハードドライブBのすべてを削除し、(2)(A)から(B)のすべてを(Finderで)コピーして、外付けハードドライブAの内容をバックアップしています。外付けハードドライブには「基本データ」(フォルダー、画像、ビデオ、ドキュメントなど)しか含まれていません。

しかし、そこに存在するすべての驚くべき無料のツールでは、私はバックアップするのに適当なものを見つけることができませんでした(提案は受け入れられました)。

これを自動化したいです。いくつかの検索の後、それは私が使用できるようです rsync。私はそれを使用してこれを自動化したい rsync コピー先のハードドライブにすでにあるファイルをコピーしないようにするために(もちろん、変更が行われた場合は、ファイル/フォルダを更新します。削除されたファイル/フォルダまたは新しいファイル/フォルダと同じです。)私が普段Finderを使って手動で行うこと

私はここまで来ました

rsync -av --progress --delete /Volumes/A/ /Volumes/B

今すぐログが名前で始まるファイルでいっぱいです . または ._ あるいは ._.。彼らは必要ですか?

質問

問題のないファイルはすべて残して、問題のあるファイルだけをコピーするにはどうすればよいですか。たとえば、 photo.png 私はコピーすることを期待します photo.pngではない ._photo.png または多くのファイル

--exclude または --exclude-from Mac上で安全に使用できますか? 「Finderが表示しているものはすべてコピーする」というのがよいでしょう。これは、すべてのフォルダを手動で通過した場合にコピーするものです。

追加の質問

です -av --progress --delete 十分な?犯罪を犯しているのか、それともデータを危険にさらしているのか。どのオプションを使用しますか。

いくつかの議論であなたの答えを裏付けてください、私はそれをいただければ幸いです。

自動化する方法を探しています rsync これはかなり強力で自由に使えるようです。


コメントは議論の余地がないためです。この会話はされています チャットに移動
bmike

1段落目で説明した戦略について、(1) - B内のすべてを削除した後 - Aに重大な問題が発生した場合はどうなりますか? A上のデータと以前のバックアップ上のデータにアクセスできなくなる可能性があります。バックアップストレージに十分なスペースがある場合は、新しいバックアップが正常に完了した後にのみバックアップを削除するのはどうですか。
Ricardo

回答:


16

最大限の安全のために、すべてをコピーしてください

最も安全な オプションは すべてコピー 目に見えないメタデータファイルを含む。

ファイルは、理由のためにそしてソフトウェアの変更として存在する傾向があり、これらのメタデータファイルの存在、目的、および内容もそうするでしょう。すべてをコピーすることで、メンテナンスの負担が軽減され、何も失われることがないという安心感が得られます。

によって作成されたログファイル rsync の本質的な性質に技術的に関与します。 rsync コマンドラインツールです。ユーザーが確認できるように、整理整頓されたメタデータフィルタリングされた、場合によっては色分けされたコード化された出力を提示することを検討してください。これは、さまざまなスクリプトツールや言語を使って実現できます。ここでもっと質問をしてください 別の質問 そして スタックオーバーフロー この方法で手助けが必要な場合

最後を削除(& A) OS Xのリソースをコピーする

について rsync フラグ、質問を見てください ある外付けドライブから別の外付けドライブに大量のデータをコピーするための最速かつ安全な方法 。この質問では、いくつかの追加のフラグを使用して説明します。

sudo rsync -vaE --progress --delete-after /Volumes/SourceName /Volumes/DestinationName

この状況では、 E リソースフォークやその他のMac固有のプロパティが確実にコピーされます。

あなたは考慮したいかもしれません --delete-after コピーが完了するまで削除を避けるため。この方法では、コピー元ドライブの2倍のサイズのコピー先ドライブが必要になる可能性があります。

可能性のある除外

関連する質問への回答 Time MachineバックアップからFCPXレンダリングファイルを省略する方法を教えてください。 、の有用なリンクを提供 ほとんどのバックアップから除外できるOS Xのファイルとフォルダ 。このリンクは、除外できる可能性のあるファイルパターン、フォルダ、およびパスの実用的なリストを提供します。

ドットファイルを含める

ドットで始まるファイルをバックアップするのには十分な理由があります。 .* 一致するファイル

ソフトウェアの中には、設定、設定、およびその他の重要な情報を、見えないドットのプレフィックスが付いたフォルダー内のユーザーのフォルダーの一番上にあるフォルダーに保持するものがあります。ランニング ls -la ~/ これらのフォルダとファイルが表示されます。

バージョン管理ソフトウェアを使用しているソフトウェアを使用している、または使用しているユーザーがいる場合は、必ずドットファイルをバックアップしてください。ソフトウェアのような 転覆 そして git どちらもドットフォルダー内に重要な情報を格納します。これらの隠しフォルダは、プロジェクトがチェックアウトされているファイルシステム全体に分散している可能性があります。

スポットライトとディスクアクセス

SpotlightはOS Xの検索サービスです。 Spotlightは mdworker 検索カタログを索引付けして更新するプロセス。ディスクの破損や低速コピーが懸念される場合は、 無効にする mdworker 実行中 rsync 助けになるかもしれません。個人的には、大規模な実行中にSpotlightを実行したままにします rsync 転送します。


2
最も安全な方法は、目に見えないメタデータファイルを含むすべてのものをコピーすることです。 しかし、Carbon Copy Clonerからの同じリンクは、自動的に構築された特定のファイルがあるため、コピーした場合でもそれらが破損する可能性があると言っています。 rsync
Manuel

1
将来の読者のために完全な例を追加することができます。私は2つの情報源を見つけました、 1 そして (プラス 三つ目 リンクしたこと将来の参照用にここに残しておきます。
Manuel

1
「ドットで始まるファイルをバックアップするのには十分な理由があります」: はい! これらのファイルは(ダミーのFinderからは)隠されていますが、ほとんどの場合、これらは非常に重要なファイルです。
daniel Azuelos

1
E そして --delete-after この答えを勝つための鍵となるポイントがあります。
daniel Azuelos

1
@danielAzuelos現在の -E、新しいバージョンではあります -X 私はいくつかの場所で推奨されるように見えます、どれが正しいですか?それとも両方?私は一般的な悩みのほとんどをカバーする最新の疑似完全版を望みます。 Spotlightファイルをコピーするほうが、生成させるよりも簡単で速いでしょうか。 Spotlightを停止してその間に混乱しないようにするにはどうすればよいですか。どうですか? caffeinate プロセスを進行中?あるいは、それが単なるバックアップリストであってSpotlightによる索引付けが不可能になったり、心配が大幅に少なくなったりする場合もあります。
Manuel

3

剪定に対して忠告します メタデータ バックアップ中、特に ドットファイル 例えば ._$filenameただし、本当に除外したい場合は ドットファイル あなたから rsync コマンド追加 --exclude '.*' それに。

rsync -av --exclude '.*' --progress --delete /Volumes/A/ /Volumes/B

これはいい。削除するかどうかわからない すべて ドットファイルは問題があるでしょう(ところで、違いはありますか? '.*' そして '/.*'?私は、Finderがそれらすべてをコピーするとは考えていません。ただ関連しているかもしれません。その場合、私は不要なものだけを除外したいと思います(例: .DS_Store )そして、はい、重要かもしれませんが、私は自分のログに入れたくないので、正規表現でフィルタリングすることができます。
Manuel

1
Finderがコピーするものは文書化されていないので、これがバックアップポリシーを構築する際の全員の問題の原因となります。あなたはのコピーを維持するべきです すべてのファイル あなたが代わりに正確に使用することができるバックアップが欲しいなら A ディスク。
daniel Azuelos

そうではない、メインハードドライブAが死んだ場合、私は3番目のハードドライブCを購入し、ハードドライブBからハードドライブCにコピーし、おそらくBまたはCのいずれかを使い始めるだろうこれはSuperDuperのように使用する必要がある種類のバックアップではないことに注意してください。それは私の写真がちょうど1つではなく2つの場所で優れているということだけです。
Manuel

3

使っているなら rsync Carbon Copy Clonerのバージョン3.0.6またはHomebrewのバージョン3.1.2では、Carbon Copy Clonerの引数からヒントを得ることができます。

rsync -A -X -H -p --fileflags --force-change -l -N -rtx --protect-decmpfs --numeric-ids -go --delete-during --backup --backup-dir=</PATH/TO/STICK/BACKUP_when_using_delete> --protect-args <SRC>/ <DEST>


2

私はいくつかの仕事でバックアップのためにrsyncを使いました、そして、私は家でそれを使います。

強くお勧めしますが、いくつか変更を加えます。バックアップツールとしては素晴らしいのですが、アーカイブツールとしてはややフラットです。はい、それはすべてをコピーしますが、あなたはすべてのバージョンを入手するのではなく、常に最新バージョンのみを入手します。

私はこのガイドを使いました http://www.mikerubel.org/computers/rsync_snapshots/ 出発点として。ページ全体を読んでください。それはオプションを説明する素晴らしい仕事をします、そして、あなたがどのように増分バックアップを実行することができるかについて概説します。そして驚くべきことに、この記事は10年以上前のものですが、今日でも適用可能です。ガタ大好きunix。


1
ありがとう。いずれにせよ、私はMac OS Xの下で人がしたいと思うかもしれない特別な考慮事項をカバーしたかった。 rsync。いずれにせよ、良いリンクは、それはの多くをカバーしています rsync しかし、今日それを正確にするためのツールがあります。 rsnapshot
Manuel

2

私は現在の答えに完全に満足しているわけではありませんが、ここで私がWeb上で見たことのある可能性のいくつかをカバーしようとします。 rsync

ところで、コピーのようにTime Machineに興味がある人は、 rsnapshot。そしてまたあります ユニゾン 双方向の同期のために。さらに、実際にはいくつかのGUIがあります。 バックアップユーティリティ そして arRsync ;私が探していたものではありませんが、彼らは誰かのために仕事をするかもしれません。

まず、私の唯一の目的は写真とビデオを複製することだったので、正確なコピーは必要ではなかったので、気にする必要はありません。 過度に 。実際、私の疑問の大部分は、すべてを除外することができるかどうかでした(たとえば、インターネットから写真をダウンロードした場合、.pngをダウンロードしただけで、他のものはすべてダウンロードされない場合も同様です)。 しかし自動生成

これはあなたが考慮に入れたいと思うかもしれない考えの非構造化リストです。

  • ラップトップがスリープ状態にならないようにしたいのですが、 caffeinate プロセス caffeinate -s rsync -av ...。から撮影 ここに

  • 私の場合のように、あなたがローカルコピーをしているのであれば、あるいはインターネット接続がそれほど遅くなくても、あなたはすべきです。 ではない つかいます -z オプション(圧縮)、そして -W (デルタ転送ではなくファイル全体を転送します。これはローカルの場合のデフォルトです) --inplace 転送を早くする。から撮影 ここに

  • あなたが使用することができます --delete-after したがって、すべてのファイルが最初に転送されてから転送先に移動され(そして元のファイルが削除され)、転送前または転送中に削除するよりも安全です。

  • を押すと転送を中止できます Ctrl + C そしてそれはきれいに止まるでしょう。から撮影 ここに 。これはSuperDuper!に対する私の不安の1つでした。転送を中止する必要がある場合は、「ハードドライブを不明な状態にします…」というメッセージが表示されます。

  • 最近のバージョンでは --info=progress2 さらに詳細を追加します -v

  • あります -P (これは等しい --partial そして --progress (それが途中で転送されたファイルをそこに残すので、あなたがプロセスを再起動したときにあなたが続けることができるようになります(何らかの理由であなたが一度に同期を終了できない場合)。

  • コピーを実行する前にSpotlightまたはTime Machineを停止し、転送後にそれらを有効にすることに興味があるかもしれません。また、外部ディスクに対してSpotlightを無効にすることもできます。

  • これらのすべての参考文献で使用されているその他のオプションは次のとおりです。 -x (または --one-file-system-E--executability-H--hard-links-X--xattrs-A--acls )、 --sparse--hfs-compression--protect-decmpfs。あなたはそれらを見たいと思うかもしれません。

私にとっては、基本的なコマンドは次のようになります(もっと多くのオプションを使用することもできますが、これで十分です)。

caffeinate -s rsync -av --delete-after --progress --stats --exclude-from 'excludefile.txt' \
  "/Volumes/SrcHDD/" "/Volumes/DstHDD" # note the trailing slash / after the source

今私の場合私はちょうど含めることができます {*.jpg,*.png,*.mp4,*.txt,*.pdf,…} 「システムファイルも必要です」と言う人はいませんが、ファイルの種類をすべて検索したくないので、除外することをお勧めします。そしてあり得ることだけではないことがあります 便利そう 除外する。

私はいくつかのリンクを見つけた、あなたが欲しいものを取りなさい:

  1. https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task

  2. https://gist.github.com/tvwerkhoven/4541989

  3. https://github.com/necolas/dotfiles

  4. https://gist.github.com/shkm/5531679

  5. http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html

  6. https://github.com/jedda/Counterpart

  7. http://alanwsmith.com/rsync-exclude-list-for-mac-osx

そしてそこからあなたはたぶん安全なものを無視することができます。これが完全なリストです(重複したものを削除しました)。

.HFS+ Private Directory Data*
/.journal
/.journal_info_block
.AppleDouble
.AppleDB
/lost+found

.metadata_never_index
.metadata_never_index_unless_rootfs
/.com.apple.timemachine.donotpresent
.VolumeIcon.icns
/System/Library/CoreServices/.disk_label*
/TheVolumeSettingsFolder

.DocumentRevisions-V100*
.Spotlight-V100
/.fseventsd
/.hotfiles.btree
/private/var/db/systemstats

/private/var/db/dyld/dyld_*
/System/Library/Caches/com.apple.bootstamps/*
/System/Library/Caches/com.apple.corestorage/*
/System/Library/Caches/com.apple.kext.caches/*

/.com.apple.NetBootX

/Volumes/*
/dev/*
/automount/*
/Network/*
/.vol/*
/net

/private/var/folders/zz/*
/private/var/vm/*
/private/tmp/*
/cores/*

.Trash
.Trashes

/Backups.backupdb
/.MobileBackups
/.MobileBackups.trash
/.MobileBackups.trash

Library/Mobile Documents.*
.webtmp

/Library/Caches/CrashPlan
/PGPWDE01
/PGPWDE02
/.bzvol
/Library/Application Support/Comodo/AntiVirus/Quarantine
/private/var/spool/qmaster
$Recycle.Bin
Saved Application State
Library/Preferences/ByHost/com.apple.loginwindow*

.AppleDesktop
.com.apple.timemachine.supported
Network Trash Folder
/Library/Caches/*
/private/var/spool/postfix/*
$RECYCLE.BIN
/stuff/*
/afs/*
/private/var/run/*
/Previous Systems.localized
/tmp/*
.dbfseventsd
.DS_Store
.PKInstallSandboxManager
.SymAV*
.symSchedScanLockxz
.TemporaryItems
Desktop DB
Desktop DF
hiberfil.sys
pagefile.sys
Recycled
RECYCLER
System Volume Information
Temporary Items
Thumbs.db
AUTORUN.INF
Autorun.inf
autorun.inf
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.