Портал > База знаний > Резервное копирование > Простой Bash-скрипт для резервного копирования
Резервное копирование данных должно производиться тогда, когда эти данные не изменяются. В противном случае нельзя гарантировать сохранности этих данных. Желательно регулярно выполнять резервное копирование в часы минимальной нагрузки на систему. Обычно минимальная нагрузка имеетместо в диапазоне от 2 часов ночи до 5 утра (в зависимости от специфики
работы системы).
Достаточно простой и удобный скрипт, позволит Вам создавать резервные копии файлов сайтов и баз данных из командной строки Linux.
#nano /home/backup.sh
#!/bin/bash
tar -czvf /backup/www.$(date +%Y%m%d-%H%M%S).tar.gz /home/bitrix/www
find /backup/www/www* -mtime +10 -exec rm {} \;
mysqldump -u root --opt -R sitemanager > /backup/sitemanager-$(date +%Y%m%d-%H%M%S).sql
find /backup/sitemanager0* -mtime +10 -exec rm {} \;
exit 0
Вторая строка скрипта использует в качестве параметра путь к директории сайта, в данном примере /home/bitrix/www, после чего создает архивный файл, имя которого будет содержать текущую дату. Например, для архивирования другой директории, Вам необходимо будет изменить ее в скрипте. Также обратите внимание, что директория /backup должна существовать на сервере.
Третья и пятая строка скрипта отвечает за ротацию резервных копий, в данном примере копии старше 10 дней будут удаляться при запуске скрипта.
Четвертая строка скрипта создает дамп базы данных.
Ставим ежедневное выполнение скрипта на cron:
#crontab -e
00 2 * * * bash /home/backup.sh > /dev/null 2>&1
Добавить в избранное Распечатать статью
Powered by WHMCompleteSolution