私のコンピュータにはロスレス音楽がたくさんあります。残念ながら、時々(今はほとんど)破損し、外付けハードドライブのバックアップと交換する必要があります。
バックアップは手動で行われるため、確実に退屈です。私の音楽コレクションが増え続けているので、アーカイブされていないアルバムを手動で見つけることがますます困難になっています。
この状況に対する最善の解決策は何ですか?単にcp
-ing?ちょっとしたrsync
使い方?既存のファイルを更新したくありません。ファイルはほとんど変更されず、ファイルを破損する良いファイルを削除したくありません。
ベストアンサー1
心からお勧めしますrsync
。ソースと比較して、ターゲットから欠落しているファイルを自動的に検出し、そのファイルのみをコピーできます。 IIUCはあなたのユースケースに最適なソリューションです。あなたの場合は、常にすべてのファイルをcp
コピーしてくださいrsync
。rsync
rsync
後でネットワーク経由で使用することを決定した場合は、ソースコンピュータとターゲットコンピュータの両方にインストールする必要があります。これが私が知っている唯一の欠点ですrsync
。
編集する:
rsync
使い方はとても簡単です。通常、次のコマンドにまとめられます。
$ rsync -avz <SOURCE> <DESTINATION>
-a
アーカイブモードを意味 - ディレクトリを繰り返しコピーし、シンボリックリンクを再生成し、権限の保存、変更時間、グループ所有者hsip、所有者、冗談を意味し-v
、-z
圧縮を意味します
ダウンロード時に一時ファイル名の前に.
。DESTINATION
DESTINATION
SOURCE
rsync
使いやすいssh
:
$ rsync -avz -e ssh hosting:/home1/rkumvbrh/mail/drabczyk.org/arkadiusz .
-e ssh
sshがデフォルトなので省略できます。
$ 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.