Моя библиотека мультимедиа не огромна, но это не является крошечным (~50 ГБ). Каждый месяц или так, я просто вручную копирую ~/Music
, ~/Pictures
, и ~/Videos
к моему EHD, и удаляют старое резервное копирование. Но это далеко от идеала. Это довольно медленно, с одной стороны (~50 ГБ все вместе). Это также не является имеющим версию, поэтому если я когда-нибудь хочу возвратиться несколько версий, мне не повезло.
Есть ли какой-либо простой, стабильный, возрастающий способ сделать это? Я открыт для использования традиционных систем управления версиями как Мерзавец для него, хотя я не использовал их прежде ни для чего кроме кода. Командная строка прекрасна (особенно, если это scriptable). Я только должен создать резервную копию этих 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"
Я нашел --progress
не было особенно полезно, так как моя музыка организована альбомами, и каждый альбом только вокруг ~100mb. Если возможно показать прогресс для всего rsync
операция, которая была бы намного более полезной.
Я использовал --delete
так, чтобы, если я очищаю свою библиотеку локально, она также очистила резервное копирование.
vv
просто помещает его в подробный режим, потому что я плохо знаком для rsync
, и я хочу знать, идет ли что-нибудь не так, как надо.
Используйте программу rsync
, который работает как инкрементное резервное копирование и не создаст резервную копию файлов, которые не изменились.
Вот несколько различных вариантов (очевидно, измените целевой каталог. Я использую/mnt/usb в своих примерах):
rsync -ra ~/Music /mnt/usb
Это рекурсивно заархивирует синхронизацию Ваши файлы, означая, что она скопирует все включая каталоги и сохранит владение, метки времени, и т.д.
rsync -r --size-only ~/Music /mnt/usb
Это будет рекурсивно синхронизировать Ваши файлы, с помощью только размеры файла для сравнения файлов (требует меньшей мощности ЦП, быстрее) - также.
rsync -raz --progress --size-only ~/Music /mnt/usb
Это рекурсивно заархивирует синхронизацию сжатия Ваши файлы (z сжатие средств), с помощью только размеры файла, чтобы сравнить файлы и сжать их перед синхронизацией. Это требует большего количества ЦП, медленнее - также.
(Примечание: -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
В вышеупомянутом примере, в 21:00 в 1-й день каждого месяца, Вашего ~/Music
каталог будет синхронизировать к /mnt/usb
. В 22:00, ~/Pictures
и в 23:00, ~/Videos
.