web-dev-qa-db-ja.com

メディアライブラリをUbuntuから外付けハードドライブにバックアップする最良の方法は何ですか?

私のメディアライブラリは巨大ではありませんが、小さくはありません(〜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を初めて使用するため、詳細モードにします。何か問題が発生したかどうかを知りたいのですが。

4
Matthew

プログラム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

6
Mistiry