Neatek logo logotype
AdminVPS hosting

Нужно разработать сайт, или сделать разовую поддержку сервера? Или перенести сайт?

Технический специалист всегда поможет, расскажет, исправит неисправляемое.

Написать также можно в Telegram @neatekbot

Сделай заказ прямо сейчас

Bash скрипт во благо sql бэкапов

Данный bash скрипт поможет вам реализовать удаленные бэкапы, он создает в папке ./files все необходимые .sql файлы, а также bz2 их версию, что позволяет сократить большое количество места, а также трафика для передачи, далее передаёт bz2 архив с .sql файлом на удаленный FTP сервер. Если у вас есть backup сервер, то пожалуй это хорошее решение. В этом скрипте нужно указать свои данные в виде DB юзера и пароля, названия, также FTP данные и юзера локального для поправки правил, можете запускать из под root через cron. Или просто из под юзера с указанными возможностями.

Требования к скрипту:

  1. (yum || apt-get) install => ftp-upload *Не ssh команда, поправьте.
  2. bzip2
  3. mysqldump

Будьте аккуратны с выполнением команд! И никогда не используйте cd / && rm -rf *

Возможные улучшения:

  1. Можно добавить удаление локальных файлов .sql .bz2
  2. Можно добавить удаление только выбранного из .sql .bz2
#!/bin/bash
echo "Hello, we will start backup your database for that day, please wait"
DATE="$(date +'%Y-%m-%d')"
mysqldump -u DB_USERNAME -p'DB_PASSWORD' DB_NAME > $DATE.sql
bzip2 -zk $DATE.sql
ftp-upload -h FTP_LOGIN -u FTP_USER --password FTP_PASSWORD -d /FOLDER_FOR_BACKUPS $DATE.sql.bz2
chown -R WEB_USER:WEB_USER *
mv $DATE.sql ./files
mv $DATE.sql.bz2 ./files
find ./files -mtime +30 -type f -delete

Никогда не забывайте —  «Сделай бэкап, а кофе потом».

Оцените данную статью

КолДваТриЧетыреОтлично! (2 оценок, средне: 5,00 из 5)