У меня есть домашний сервер под управлением Ubuntu 14.04.3 LTS с файловой системой ext4
, на которую я регулярно делаю резервные копии данных с различных устройств.
Теперь я настроил внешний USB HDD с файловой системой ZFS
и хотел бы сделать резервную копию всех данных с домашнего сервера на этот USB-накопитель. И поскольку я использую ZFS
на внешнем диске, я также хотел бы использовать возможности снимков ZFS
.
Поскольку я буду копировать файлы из ext4
в ZFS
, я не могу использовать команду zfs send
. Поэтому я застрял с rsync
.
Я использую rsync
некоторое время, поэтому я довольно хорошо с ним знаком. Но, поскольку я буду делать снимки в целевой файловой системе, я хочу тратить как можно меньше места.
Я наткнулся на этот пост в блоге, который использует следующую команду:
/usr/bin/rsync -axH --no-whole-file --inplace --delete / /$backup_target/root/
Помимо обычных флагов, таких как -a
, -x
и --delete
он также использует:
-H
(жесткие ссылки),--no-whole-file
(принудительно включить алгоритм delta-xfer) и--inplace
(обновить папку вместо создания новой резервной копии).
Мой вопрос: достаточно ли этих флагов или я должен добавить или удалить некоторые?
Поток резервного копирования будет следующим:
- Резервное копирование с rsync в один и тот же каталог каждый раз
- Создайте снимок этого каталога, используя
zfs snapshot backup@'date +%Y%m%d'
Я предполагаю, что --inplace
является обязательным (из-за резервного копирования в один и тот же каталог каждый раз). То же самое, вероятно, относится и к --no-whole-file
поскольку он копирует только измененный блок данных. Но как насчет -H
? Любые другие флаги, которые я должен добавить?