Резервное копиривание сайта с выгрузкой базы mysql
Резервное копирование данных, является одной из важнейшей части работы грамотного системного администратора. При правильном копировании, ваше беспокойстве о том, что данные исчезнут снизится до минимума, а нервы останутся в порядке.
Копировать, а на сленге «бэкапить» мы будем сайт в связке с базой данных.
Для этого стоит использовать отдельный жесткий диск, это более целесообразно.
Предварительно разметив его.
Создадим директорию и назовём её mkdir /backup в ней мы будем хранить резервные данные, смонтируем новый диск командой mount /dev/sdX /backup (X –буква нового диска).
Для автоматического монтирования диска стоит прописать в /etc/fstab.
Создадим файл /opt/backup_site с содержимым
cd /backup
find /backup/ -type f -atime +12 -exec rm {} \;
tar -czf sites-$(date "+%F").tgz /sites/
mysqldump --opt -u (Имя пользователя базы) –p(Пароль пользователя базы) (база) > (база).sql-$(date "+%F")
В первой строке мы переходим в директорию где будут хранится резервные копии.
В второй строке мы ищем с помощью команды find с параметром -type f файлы старше 12 дней –atime +12 и удаляем их –exec rm, выставляете на свое усмотрение количество дней, в зависимости от объёма жесткого диска.
В третьей строке мы архивируем с помощью команды tar с ключами
c - создание архива
z - использование сжатие gzip.
f - указывает имя файла
дальше идет имя файла архива с параметром -$(date "+%F"), что указывает на дату создание файла. .tgz расширение добавляется для удобства, так как в unix системах нет понятия расширения. Далее указывается место расположения файлов, которые мы будем копировать.
В четвертой строке мы создадим дамп базы данных сайта с помощью команды mysqldump. Вместо скобок впишите соответствующие данные.
Файл backup_site нужно сделать исполняемым, командой chmod +x /opt/backup_site и добавить в планировщик заданий, для автоматического срабатывания.
0 комментариев