Резервное копирование данных на сервере ( backup mysql)

Written by

in

, ,

часть первая mysql
Важная часть стабильности жизни сервера.

создаём каталог для бэкапа например
/var/backup
в нём будет находится скрипт бэкапа и подкаталоги для различных баз.
у меня на сервере несколько сайтов для каждого сайта я создам отдельные подкаталоги
/var/backup/site1
/var/backup/site2
в них будут находится непосредственно бэкапы

далее создаём скрипт бэкапа mysql сервера.

#touch database.sh

делаем файл исполняемым

#chmod +x database.sh

первой строкой в файле указываем исполнять данный файл интерпретатором bash

#!/bin/bash

далее делаем дап

mysqldump -u root -pMyPass database_name > site1/database_name.sql

где
-u root имя пользователя БД
-p Указывает на пароль пользователя root в данном примере MyPass
database_name — имя базы данных
> site1/database_name.sql положить дам в данный файл.

Далее надо упаковать данный дамп и указать дату его создания

7z a -t7z site1/$(date +%d_%b_%Y)_database_name.sql.7z site1/database_name.sql

7zip упаковывает файл site1/database_name.sql в каталоге site1 с именем сегодняшняя_дата_database_name.sql.7z

$(date +%d_%b_%Y) — задаётся формат даты. в данном примере имя файла будет выглядеть так:
14_Янв_2009_database_name.sql.7z

Теперь можно удалить временный файл дампа, ведь есть его архив :))

find ./ -name «*.sql» -exec rm {} \;

утилита find находит все файлы в данном каталоге и подкаталогах соответствующие формату «*.sql» и удаляет их.
в итоге в каталогах остаются лишь архивные копии дампов.

теперь осталось добавить данный скрипт на авто запуск по расписанию в крон.

редактируем список задач крона

crontab -e

дописываем наш скрипт
00 01 * * * /var/backup/database.sh

выходим с сохранением
Ctrl+X
и подтверждаем наши намерения Y

В итоге каждый день в час ночи будет запускаться скрипт резервного копирования баз данных mysql

Comments

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

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