Скрипт резервного копіювання баз Mysql в локальну папку - Ukrainian
Вирішив повністю відмовитися від використання ispmanager, тому що ресурси займає, а використовується лише для одного - резервного копіювання даних. Але якщо це можна зробити власноруч, то тримати панель на сервері для десяти сайтів взагалі немає сенсу.
Тому першим завданням стає створення резервних копій баз даних mysql. Бази невеликі за розміром, тому використовуватиметься найпростіший варіант бекапів — створення архівів та розміщення їх у певній папці сервера.
Звичайно, куди надійніше було б відправляти бекап по sftp кудись на інший сервер в іншому дата-центрі (і країні, чого вже там), але оскільки мої сайти змінюються пару разів на місяць, то скачування бекапів раз на два дні не можна назвати важким заняттям. :)
Досвіду написання скриптів на Bash у мене не було до цього моменту. Але розібратися не склало труднощів, враховуючи численні приклади скриптів резервного копіювання mysql на різних сайтах про адміністрування серверів.
Сам скрипт mysqlbackup.sh:
Робота з mysql виконується безпосередньо від користувача root, тому що він має доступ одразу до всіх баз даних.
З бекапу виключаються бази даних information_schema, mysql, performance_schema. Потім всі бази розміщуються в bzip2-архів і складуються в певну папку, звідки їх потім можна завантажити.
У планувальнику Cron прописується завдання виконання скрипту разів у добу, наприклад, о першій годині ночі.
Якщо в налаштуваннях крона встановлено правильний email, то на пошту прийде звіт, в якому будуть перераховані збережені бази даних.