Скрипт за архивиране на Mysql бази данни в локална папка - Rusadmin

Реших напълно да се откажа от използването на ispmanager, защото отнема ресурси и се използва само за едно нещо - архивиране на данни. Но тъй като можете да го направите сами, тогава няма смисъл да държите панела на сървъра за десет сайта.

Следователно, първата задача е да създадете резервни копия на бази данни mysql. Базите данни са малки по размер, така че ще се използва най-простият вариант за архивиране - създаване на архиви и поставянето им в определена папка на сървъра.

Разбира се, би било много по-надеждно да изпратите резервно копие чрез sftp някъде до друг сървър в друг център за данни (и държава, каквото и да е), но тъй като моите сайтове се променят няколко пъти на месец, изтеглянето на архиви на всеки два дни не може да се нарече трудна задача. :)

До този момент нямах опит в писането на скриптове в Bash. Но не беше трудно за разбиране, предвид многобройните примери за скриптове за архивиране на mysql в различни сайтове за администриране на сървъри.

Самият скрипт mysqlbackup.sh:

Работата с mysql се извършва директно от root потребителя, тъй като той има достъп до всички бази данни наведнъж.

Базите данни information_schema, mysql, performance_schema са изключени от резервното копие. След това всички бази данни се поставят в bzip2 архив и се съхраняват в определена папка, откъдето след това могат да бъдат изтеглени.

В планировчика на Cron е предписана задача за изпълнение на скрипта веднъж на ден, например в един през нощта.

Ако правилният имейл е посочен в настройките на cron, тогава на пощата ще бъде изпратен отчет, който ще изброява запазените бази данни.