This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Linux - Backup and restore

Не работает? Начинай читать инструкцию.

Резервное копирование операционной системы 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 из архивной копии

Предлагаю ознакомиться с предложениями моих партнёров