自動で信頼性の高いデータバックアップ

自動で信頼性の高いデータバックアップ

私のコンピュータにはロスレス音楽がたくさんあります。残念ながら、時々(今はほとんど)破損し、外付けハードドライブのバックアップと交換する必要があります。

バックアップは手動で行われるため、確実に退屈です。私の音楽コレクションが増え続けているので、アーカイブされていないアルバムを手動で見つけることがますます困難になっています。

この状況に対する最善の解決策は何ですか?単にcp-ing?ちょっとしたrsync使い方?既存のファイルを更新したくありません。ファイルはほとんど変更されず、ファイルを破損する良いファイルを削除したくありません。

答え1

心からお勧めしますrsync。ソースと比較して、ターゲットから欠落しているファイルを自動的に検出し、そのファイルのみをコピーできます。 IIUCはあなたのユースケースに最適なソリューションです。あなたの場合は、常にすべてのファイルをcpコピーしてくださいrsyncrsync

rsync後でネットワーク経由で使用することを決定した場合は、ソースコンピュータとターゲットコンピュータの両方にインストールする必要があります。これが私が知っている唯一の欠点ですrsync

編集する:

rsync使い方はとても簡単です。通常、次のコマンドにまとめられます。

$ rsync -avz <SOURCE> <DESTINATION>

-aアーカイブモードを意味 - ディレクトリを繰り返しコピーし、シンボリックリンクを再生成し、権限の保存、変更時間、グループ所有者hsip、所有者、冗談を意味し-v-z圧縮を意味します

ダウンロード時に一時ファイル名の前に.DESTINATIONDESTINATIONSOURCE

rsync使いやすいssh

$ rsync -avz -e ssh hosting:/home1/rkumvbrh/mail/drabczyk.org/arkadiusz .

-e sshsshがデフォルトなので省略できます。

$ rsync -avz hosting:/home1/rkumvbrh/mail/drabczyk.org/arkadiusz .

ネットワーク経由で使用する場合は、rsync両端にインストールする必要があります。

$ rsync -avz -e "ssh" router:<FILE> .
ash: rsync: not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: remote command not found (code 127) at io.c(226) [Receiver=3.1.0]

編集する:

まあ、最初はローカルディスクの破損したファイルをすべて外部ディスクのファイルに置き換えて、外部ディスクの新しいファイルをコピーしたいと思いました。ただし、内部ディスク上の新しいファイルのみを外部ディスクにコピーする場合は、--ignore-existing新しいファイルを外部ディスクにコピーしますが、破損したファイルをコピーしないようにオプションを追加する必要があります。

$ rsync -avz --ignore-existing <PATH/TO/INTERNAL_HDD> <PATH/TO/EXTARNAL_HDD>

からman rsync

--ignore-existingこれは、rsyncにターゲットにすでに存在するファイルの更新をスキップするように指示します(既存のディレクトリを無視せず、それ以外の場合は何もしません)。 --既存も参照してください。

   This option is a transfer rule, not an exclude, so it
   doesn't affect the data that goes into the file-lists, and
   thus it doesn't affect deletions. It just limits the files
   that the receiver requests to be transferred.

   This option can be useful for those doing backups using the
   --link-dest option when they need to continue a backup run that
   got interrupted. Since a --link-dest run is copied into a new
   directory hierarchy (when it is used properly), using --ignore
   existing will ensure that the already-handled files don't
   get tweaked (which avoids a change in permissions on the
   hard-linked files). This does mean that this option is only
   looking at the existing files in the destination hierarchy
   itself.

答え2

rsyncコマンドに-cを追加すると、すべてのファイルが両側で同じになります。

関連情報