Резервное копирование операционной системы Linux и полная архивация всех файлов

Каждый из нас минимум один раз задумывался о резервном копировании сервера работающий на ОС Linux. Решений есть достаточно много. Я расскажу об одном из них.

Полная архивация (резервное копирование linux) всех файлов операционной системы Linux (1 раз в день) на другой жесткий диск, (заранее отформатирован с файловой системой Ext3) и на постоянно смонтирован в директорию /backup

В данном примере описывается резервное копирование backup CentOS-5.9, синтаксис команд в различных вариантах linux (например Debian или Fedora) может отличаться.

Проверить, что запущен сервис crond, для этого выполнить команду в консоли

service crond status

Для запуска crond выполнить команду в консоли

service crond start

Если сервис crond не включен в автозапуск, выполнить команду в консоли

chkconfig crond on

Далее предлагается использовать планировщик заданий cron и архиватор tar

Для выполнения команды полной архивации операционной системы 1 раз в сутки в 03.00 часа ночи, необходимо добавить в файл /var/spool/cron/root команду для архивации

Чтобы сделать запись в файл (или создать файл), выполнить в терминале:

crontab -e

Файл откроется в редакторе vi

Для редактирования нажать - i
Выйти из редактора - Esc
Записать файл - ZZ

0 3 * * * tar -cvpf /backup/fullbackup-$(date +\%d-\%m-\%Y_\%H-\%M-\%S).tar / --directory=/ --exclude=proc --exclude=sys --exclude=mnt --exclude=dev --exclude=etc/fstab --exclude=lost+found --exclude=backup --exclude=boot > /dev/null 2>&1

где,
0 3 * * * - время выполнения команды
tar -cvpf - команда для использования архиватора tar
/backup/fullbackup.tar - название архива и путь к нему
/ - Директория, (корневая в данном примере)
--exclude=proc - временные директории, исключаются из архива

--exclude=tmp - возможно эту директорию тоже не стоит архивировать, но я пока не уверен

Кто то рекомендует дополнительно использовать параметр --numeric-owner

--numeric-owner, грубо говоря, привязывает UID и GID к файлу(вместо их имен), чтобы они не искажались /etc/passwd и /etc/group? вся эта система работает по типу:

Без --numeric-owner: перед извлечением файла ищется такое же имя владельца/группы в /etc/passwd и /etc/group, и при совпадении подставляется для него ID; если ID для имени не найдено, то оно оставляется «висячим» — как и было изначально.

С --numeric-owner же никаких проверок не происходит, и какой изначально при архивации ID был, таким он и будет после.

Есть информация о том, что в версии 1.15.1 tar повреждает разреженные файлы более 4 ГБ. В версиях tar (1.20 и выше) этого не наблюдалось, но лучше проверить.

Что бы архивы не накапливались на диске, и не заполнили всё пространство, настроим автоматическое удаление устаревших архивов.

Далее предлагается использовать планировщик заданий cron и утилиту find

Например, для выполнения команды удаления архивов что есть «старше» 9 суток 1 раз в сутки в 05.00 часов утра, необходимо добавить в файл /var/spool/cron/root команду для удаления файлов

0 5 * * * find /backup/ -name '*.tar' -mtime +9 -delete > /dev/null 2>&1

Ознакомиться, Как восстановить Linux CentOS из архивной копии

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить