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

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

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

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)