Анкета для регистрации интернет-ресурса
В соответствии с Указом Президента Республики Беларусь № 60 от 01.02.2010г.
Техподдержка
Приложение support.by

E-mail: ticket@support.by

 

Портал > База знаний > Резервное копирование > Простой Bash-скрипт для резервного копирования


Простой Bash-скрипт для резервного копирования




Бэкап (от англ. backup — «резервная копия») — это резервная копия данных, которая содержит всю информацию о сайте\проекте и хранится на компьютере, сервере или в облачном хранилище. Эти данные нужны на случай, если что-то случится с основной версией.  Восстановление бэкапа поможет, если ваш сайт атаковали вирусы: вернувшись к чистой резервной копии, вы избавитесь от вредителей. Это также выручит, если вы захотите отменить изменения или случайно что-то удалите.

Достаточно простой и удобный скрипт, позволит Вам создавать резервные копии файлов сайтов и баз данных из командной строки Linux.

nano /home/backup.sh

#!/bin/bash
tar -czvf /backup/www.$(date +%Y%m%d-%H%M%S).tar.gz /path/to/document_root
find /backup/www/www* -mtime +10 -exec rm {} \;
mysqldump -u root --opt -R my_database > /backup/my_database-$(date +%Y%m%d-%H%M%S).sql
find /backup/my_database* -mtime +10 -exec rm {} \;
exit 0

Вторая строка скрипта использует в качестве параметра путь к директории сайта, в данном примере "/path/to/document_root", после чего создает архивный файл, имя которого будет содержать текущую дату. Например, для архивирования другой директории, Вам  необходимо будет изменить ее в скрипте. Также обратите внимание, что директория /backup должна существовать на сервере, крайне рекомендуется чтобы в неё было смонтировано внешнее, не зависящее от сервера, хранилище.

Третья и пятая строка скрипта отвечает за ротацию резервных копий, в данном примере копии старше 10 дней будут удаляться при запуске скрипта. Четвертая строка скрипта создает дамп базы данных, в данном примере "my_database" нужно будет изменить на имя Вашей базы данных. 

Резервное копирование данных должно производиться тогда, когда эти данные не изменяются. В противном случае нельзя гарантировать сохранности этих данных. Желательно регулярно выполнять резервное копирование в часы минимальной нагрузки на систему. Обычно минимальная нагрузка имеет место в диапазоне от 2 часов ночи до 5 утра (в зависимости от специфики работы системы). Ставим еженочное выполнение скрипта на cron:

crontab -e

00 2 * * * bash /home/backup.sh > /dev/null 2>&1

В случае если в процессе возникнут трудности или вопросы вы всегда можете обратиться в службу технической поддержки support.by



Помог ли вам данный ответ?

Добавить в избранное Добавить в избранное    Распечатать статью Распечатать статью

Также читают

Powered by WHMCompleteSolution