moovix

Резервное копирование с CentOS сервера на Яндекс.Диск

Moovix » Блог » Резервное копирование с CentOS сервера на Яндекс.Диск
В данной статье я приведу пример организации простейшего резервного копирования сайтов и баз данных MySQL с сервера CentOS 6.x на Яндекс.Диск. Прежде всего установим yandex-disk на сервер, для этого воспользуемся утилитой yum и инструкцией от Яндекса:

В данной статье я приведу пример организации простейшего резервного копирования сайтов и баз данных MySQL с сервера CentOS 6.x на Яндекс.Диск.

Прежде всего установим yandex-disk на сервер, для этого воспользуемся утилитой yum и инструкцией от Яндекса:

				
					# nano /etc/yum.repos.d/yandex.repo
				
			

В файл yandex.repo введём такие данные:

				
					[yandex]
name=Yandex
failovermethod=priority
baseurl=http://repo.yandex.ru/yandex-disk/rpm/stable/$basearch/
enabled=1
metadata_expire=1d
gpgcheck=1
gpgkey=http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG
				
			

Далее:

				
					# rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG
# yum install yandex-disk
				
			

После установки запускаем конфигурацию Яндекс.Диска:

				
					$ yandex-disk setup
				
			

В качестве директории для синхронизации, я оставил дефолтную (/home/user/Yandex.Disk)

Создадим в ней директорию для бэкапа:

				
					$ cd /home/user/Yandex.Disk$ mkdir backup
				
			

Нелишним будет в файле конфигурации Яндекс.Диска отключить директории отличные от backup, если вы планируете пользоваться им не только для создания резервных копий. Делается это просто, добавлением строки в файл config.cfg:

				
					exclude-dirs="exclude/dir1,exclude/dir2,path/to/another/exclude/dir"
				
			

Теперь необходимо создать bash-скрипт, который будет в эту папку создавать backup’ы:

				
					$ vim backup.sh
				
			
				
					CURDATE=`date +%F`
OLDDATE=`date +%F --date='7 day ago'`
mysqldump -u mysqluser -ppassword --all-databases > /home/user/mysql-$CURDATE.sql
gzip /home/user/mysql-$CURDATE.sql
mv /home/user/mysql-$CURDATE.sql.gz /home/user/Yandex.Disk/backup
rm /home/user/Yandex.Disk/backup/mysql-$OLDDATE.sql.gz
tar czf /home/user/Yandex.Disk/backup/sites-$CURDATE.tar.gz /var/www/sites
rm /home/user/Yandex.Disk/backup/sites-$OLDDATE.tar.gz
				
			

В этом скрипте переменной CURDATE присваивается текущая дата, переменной OLDDATE дата недельной давности. Создаётся дамп базы данных, сжимается gzip’ом, и переносится в директорию Яндекс.Диска, туда же создается сжатая tar+gzip’ом копия директории с сайтами (в данном примере это /var/www/sites).  Скрипт настроен таким образом, что удаляет бекапы старее 6 дней.

Далее нужно запустить синхронизацию с Яндекс.Диском:

				
					$ yandex-disk start
				
			

Можно протестировать создание бекапов:

				
					$ bash backup.sh
				
			

Убедитесь в наличии прав на запуск файла backup.sh

Как только резервная копия будет создана, демон Яндекс.Диска начнёт синхронизировать копию с облаком.

Если всё прошло нормально, добавим выполнение скрипта backup.sh в планировщик cron:

				
					$ crontab -e
				
			

Внесём туда такую строку

				
					3 5 * * * bash /home/user/backup-new.sh
				
			

При такой конфигурации скрипт будет запускаться каждый день в 5 часов 3 минуты утра. Можно скорректировать время, исходя из дневной нагрузки на сервер, выбирая промежуток времени с наименьшей нагрузкой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Moovix » Блог » Резервное копирование с CentOS сервера на Яндекс.Диск

Есть вопрос? мы онлайн

Есть проект? Заполните бриф.

top