Опубликовано пользователем goodigy
Как я делаю бэкап.
У меня есть жесткий диск 3.5, специально большой, чтобы его с собой таскать было не удобно. Его я подключаю раз в месяц и делаю копию раздела /home на него.
Можно просто копировать, но мне нужно чтобы каждый раз копировались только измененные или добавленные файлы, и из архива удалялись файлы которых нет больше и на моем home.
То есть бэкап должен быть инкрементным.
Для этого существует множество утилит, с множеством различного функционала, но так как я это все делаю периодически, и подключаю диск вручную, то мне удобнее использовать rsync.
Определимся сразу, я копирую /home/goodigy в папку на подключенном диске /media/goodigy/backup_disk.
Чтобы начать копирование, нужно выполнить команду
rsync \
--archive \ 
--delete --delete-excluded \  
--progress \ 
"/home/goodigy/" \ 
"/media/goodigy/backup_disk" \  
--exclude='/docs/' Пояснения к опциям
- --archive - сохранять всю дополнительную информацию о файлах сохраняются права доступа и информация о владельцах;
- 
--delete --delete-excluded - удаление из резервной копии несуществующих в источнике и исключённых файлов; 
- 
--progress - выводить информацию о прогрессе передачи; 
- 
"/home/goodigy/" - каталог источник. Если каталог источник оканчивается на слэш, то сам каталог копироваться не будет, только файлы. 
 Например, "/home/goodigy" - скопируются только файлы /media/goodigy/backup_disk/файлы, а для "/home/goodigy/" - скопируется и каталог /media/goodigy/backup_disk/goodigy/файлы.
- 
"/media/goodigy/backup_disk" — каталог приемник, для текущей резервной копии; 
- 
--exclude='/docs/' - исключение ненужных каталогов и файлов. Выполняется по маске, а не по конкретному пути. Маска задается относительно каталога источника, то есть /home/goodigy/ - корневой. Таким образом, --exclude='/docs/' означает исключить каталог docs. Если нужно оставить каталог, но исключить все файлы из него - '/docs/*'. 
 Для исключения каталогов в названии которых есть docs - '/docs'.
 Вместо названия каталога можно указать **- все каталоги. Например, - '/docs/**/dir', исключить dir из всех каталогов.Чтобы лучше понять как это работает, лучше на создавать каталогов и файлов, и потренироваться на них. Мне это помогло. 
 Некоторые рецепты можно посмотреть тут.
Еще существует много опций, но я ими не пользуюсь. Посмотреть их можно тут.
Также, существует графическая утилита на основе rsync — grsync.
grsync в Ubuntu 14.04 выгляди вот так
Тут все предельно просто и понятно.


