часть первая 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