Я запускаю собственный скрипт Python, который использует rsync для сохранения моей домашней папки (меньше мусора и т. д.) в папку с надписью «current» на отдельном резервном жестком диске (подключенном USB), а затем команду copy (cp) для копирования всего от «current» к папке с меткой даты и времени на том же жестком диске. Самое замечательное в том, что каждый снимок имеет каждый файл в вашей домашней папке, как и в то время, и еще жесткий диск не просто заполняет излишне. Поскольку большинство файлов никогда не меняются, на жестком диске имеется только одна фактическая копия этих файлов. Каждая другая ссылка на него - это ссылка. И если к «текущему» добавлена более новая версия файла, все снимки, указывающие на более старую версию, теперь автоматически указывают на одну версию оригинала. Современные файловые системы HDD сами по себе заботятся. Хотя в скрипте есть всевозможные уточнения, основные команды просты. Вот несколько ключевых ингредиентов:
exclusion_path = "/home/.../exclusions.txt" # don't back up trash etc
media_path = "/media/... # a long path with the HDD details and the "current" folder
rsync -avv --progress --delete --exclude-from=exclusion_path /home/username/ media_path
current = "..." # the "current" folder on the HDD
dest = "..." # the timestamped folder on the HDD
cp -alv current dest
У меня были и некоторые индивидуальные потребности. Поскольку у меня есть несколько массивных (например, 60 ГБ) образов виртуальных дисков VirtualBox, я только хочу иметь одну копию этих версий, а не снимков. Даже жесткий диск 1 или 2 ТБ имеет ограничения.
Вот содержимое моего файла исключений. Файл очень чувствителен к отсутствию косой черты и т. Д.:
/.local/share/Trash/
/.thumbnails/
/.cache/
/Examples/