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

Вы сейчас просматриваете Простой 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

Понравилась статья? Хочешь получать еще больше полезного контента? Подписывайся на наш блог, будь в курсе последних новостей и интересных материалов из области хостинга и не только!