В этой статье будет рассматриваться резервное копирование с помощью утилиты tar. Также рассмотрим резервное копирование по расписанию с помощью штатного планировщика Linux Debian (Ububntu 14.04 server) crontab.
Вначале рассмотрим простейший вариант. К примеру нам нужно сделать архив из папки vasya в папке home (/home/vasya). Архив назовем vasya.gz и для удобства поместим его в папку /var/backups. Соответственно полный путь будет /var/backups/vasya.gz. Для этого используем следующую команду:
tar -zcf /var/backups/vasya.gz /home/vasya/
При таких параметрах архивации сохраняются все права доступа на файлы и папки.
Ключи команды tar:
-z сжать файл с использованием gzip
-c создать новый архив
-f использовать указанный файл
Для восстановления папки заходим в нужный нам каталог с помощью команды CD. И в этот каталог разархивируем наш архив vasya.gz с помощью команды:
tar -zxvpf /var/backups/vasya.gz
Папка home с подпапкой vasya окажется в том каталоге, в котором мы сейчас находимся.
Если же мы выполняем команду из корневого каталога / ,то папка восстановится в исходном виде по адресу /home/vasya.
Рассмотрим более сложные примеры.
Сохраняем корневую директорию / исключая папки /proc, /var, /mnt, /usr. Также к имени файла добавляется дата создания резервной копии.
tar -zcvpf /backup/backup-`date '+%d-%B-%Y'`.tar.gz --directory / \
--exclude=proc --exclude=var --exclude=mnt --exclude=usr
Здесь ключи мы используем следующие:
-v Выводить список обработанных файлов
-p Сохранять информацию о правах доступа
--directory Директория для сохранения в архив
--exclude Исключить директорию при сохранении в архив
Как описывалось выше, для извлечения файлов из архива предназначена опция -x команды tar. Например, следующая команда восстановит все файлы из архива /backup/backup-11-March-2016.gz:
tar -zxvpf /backup/backup-11-March-2016.gz
Для восстановления определенных файлов из архива укажите их имена после имени архива. Например, следующая команда восстановит файлы home/alenitchev/adt/backup.xml и etc/sendmail.cf из архива /backup/backup-11-March-2016.gz
tar -zxvpf /backup/backup-11-March-2016.gz home/alenitchev/adt/backup.xml \ etc/sendmail.cf
Перед восстановлением файла из резервной копии убедитесь, что восстанавливаемый файл не заменит более новый экземпляр.
|