Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
В этой статье мы расскажем, как сделать резервную копию нескольких баз данных MySQL или MariaDB, которые находятся на одной машине, с помощью специального сценария bash и настройки задания cron.
Предположим, у нас есть три базы данных MySQL в нашем экземпляре Vultr с именами db-vultr-site , db-vultr-blog , db-vultr-app (не беспокойтесь о создании этих баз данных, вы сможете заменить их имена для вашего они были использованы в сценарии на шаге 2 ниже) .
Войдите в базу данных MySQL или MariaDB и выполните приведенный ниже запрос, чтобы создать пользователя базы данных db_user_backupsдля обработки резервных копий.
GRANT LOCK TABLES, SELECT, SHOW VIEW, REPLICATION CLIENT ON *.* TO 'db_user_backups'@'%' IDENTIFIED BY '{COMPLEX-PASSWORD}';
Также запустите ниже, чтобы убедиться, что MySQL настроен на правильное восстановление хранимых процедур
SET GLOBAL log_bin_trust_function_creators = 1;
Установите необходимую структуру каталогов и необходимые файлы
# create backup directory with environment and log file
sudo mkdir /backups && cd /backups
sudo touch .env db-backup.sh db-backup.log
sudo chmod -R 775 /backups
sudo chmod -R g+s /backups
sudo chmod +x db-backup.sh
# add mysql backup user credentials into environment file
echo "export MYSQL_USER=db_user_backups" > /backups/.env
echo "export MYSQL_PASS={COMPLEX-PASSWORD}" >> /backups/.env
Откройте db-backup.sh nano /backups/db-backup.shи вставьте в него код ниже, затем сохраните файл (Ctrl + X -> Y -> нажмите Enter) .
DB_NAMES=( 'db-vultr-site' 'db-vultr-blog' 'db-vultr-app' ) #replace with your own database name(s)
BKUP_NAMES=()
BKUP_DIR="/backups"
# get total number of directories
total_dbs=${#DB_NAMES[@]}
# create backup file names
for (( i=0; i<${total_dbs}; i++ )); do
BKUP_NAMES[$i]="`date +%Y%m%d%H%M`-backup-$${DB_NAMES[$i]}.sql.gz"
done
# get backup users credentials
source $BKUP_DIR/.env
# create backups
for (( i=0; i<${total_dbs}; i++ )); do
# NOTE: --routines flag makes sure stored procedures are also backed up
mysqldump --routines -u ${MYSQL_USER} -p${MYSQL_PASS} | gzip > ${BKUP_DIR}/${BKUP_NAMES[$i]}
done
Приведенный выше код перебирает массив с именами баз данных, которые вы хотите сделать резервную копию, и при этом.
Установите cronjob для запуска каждую полночь, который запускает сценарий резервного копирования и сохраняет результат / вывод в журнал резервного копирования.
Открыть crontab
crontab -e
Добавить ниже запись в crontab
0 0 * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
Примечание: во время тестирования вы можете настроить запуск cronjob каждую 1 минуту, как показано ниже
* * * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
-ИЛИ- каждые 5 минут (замените 5 на количество минут, которое вы хотите)
*/5 * * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
Скорее всего, вы не захотите, чтобы ваши резервные копии находились на том же сервере (ах), на котором запущены ваши базы данных, а на сервере в другом географическом местоположении. Есть несколько способов сделать это - от использования SFTP до использования пользовательских инструментов, предоставляемых бесчисленным количеством поставщиков облачных хранилищ. Хорошей альтернативой является Rsync, как описано здесь - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu
Автор Лами Адабонян
Изучение 26 методов анализа больших данных: часть 1
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше