私のメディアライブラリは巨大ではありませんが、小さくはありません(〜50GB)。毎月かそこらで、~/Music
、~/Pictures
、および~/Videos
を手動でEHDにコピーし、古いバックアップを削除します。しかし、これは理想からは程遠いです。一つには、かなり遅いです(全部で最大50GB)。また、バージョン管理されていないため、複数のバージョンに戻したい場合は、運が悪いです。
これを行うための簡単で安定した段階的な方法はありますか?私はGitのような従来のバージョン管理システムを使用することにオープンですが、コード以外の目的で使用したことはありません。コマンドラインは問題ありません(特にスクリプト可能である場合)。これらの3つのフォルダをバックアップするだけで済みます-メディア以外のものはすべて私の Dropbox に保存されます。何か案は?
編集:これが私が使用することになったスクリプトです(Mistiryに感謝します):
#!/bin/sh
rsync --delete --size-only -ravv /home/matthew/Music "/media/My Passport/backup/Music"
rsync --delete --size-only -ravv /home/matthew/Pictures "/media/My Passport/backup/Pictures"
rsync --delete --size-only -ravv /home/matthew/Videos "/media/My Passport/backup/Videos"
私の音楽はアルバムごとに整理されており、各アルバムのサイズは約100 MBしかないため、--progress
は特に有用ではないことがわかりました。 rsync
操作全体の進行状況を表示できる場合は、はるかに便利です。
--delete
を使用したので、ライブラリをローカルでクリーンアップすると、バックアップもクリーンアップされます。
vv
は、rsync
を初めて使用するため、詳細モードにします。何か問題が発生したかどうかを知りたいのですが。
プログラムrsync
を使用します。これは増分バックアップのように機能し、変更されていないファイルをバックアップしません。
ここにいくつかの異なるオプションがあります(明らかに、ターゲットディレクトリを変更します。私の例では/ mnt/usbを使用しています):
rsync -ra ~/Music /mnt/usb
これにより、r ecursively a rchiveファイルが同期されます。つまり、ディレクトリを含むすべてがコピーされます。所有権、タイムスタンプなどを保持します。
rsync -r --size-only ~/Music /mnt/usb
これにより、r ecursivelyファイルが同期され、ファイルサイズのみを使用してファイルが比較されます(必要なCPUパワーが少ないため、高速です) )。
rsync -raz --progress --size-only ~/Music /mnt/usb
これにより、r ecursively a rchive c ompressファイルが同期されます(zは圧縮を意味します)、ファイルサイズのみを使用してファイルを比較し、同期する前にそれらを圧縮します。これはより多くのCPUを必要とするため、遅くなります。
(注:-ra
は-a
と同じです。ここでは、わかりやすくするために-r
が含まれています。)
これは定期的に行うことなので、次のようなものをcrontabに追加できます(crontab -e
を実行してcrontabを変更します)。
* 21 1 * * /usr/bin/rsync -r --size-only ~/Music /mnt/usb
* 22 1 * * /usr/bin/rsync -r --size-only ~/Pictures /mnt/usb
* 23 1 * * /usr/bin/rsync -r --size-only ~/Videos /mnt/usb
上記の例では、毎月1日の午後9時に、~/Music
ディレクトリが/mnt/usb
に同期されます。午後10時の~/Pictures
と午後11時の~/Videos
。