К основному контенту

Как запланировать резервное копирование всех баз данных MySQL/MariaDB в Ubuntu 18

В этом руководстве вы узнаете, как создать скрипт который будет выполнять резервное копирование всех ваших баз данных MySQL. Вы также узнаете, как настроить запланированное задание для ежедневного запуска сценария резервного копирования.

Шаг 1: Создайте скрипт резервного копирования

Создайте папку для хранения вашего резервного скрипта. Я предлагаю / scripts для этого примера:
sudo mkdir /scripts
Создайте файл с именем mysql-backup.sh в папке scripts: sudo vim /scripts/mysql-backup.sh Добавьте следующий код в файл и сохраните его:

       
#!/bin/bash

#----------------------------------------

# OPTIONS

#----------------------------------------

USER='root'       # MySQL User

PASSWORD='webdev' # MySQL Password

DAYS_TO_KEEP=0    # 0 to keep forever

GZIP=1            # 1 = Compress

BACKUP_PATH='/backups/mysql'

#----------------------------------------



# Create the backup folder

if [ ! -d $BACKUP_PATH ]; then

  mkdir -p $BACKUP_PATH

fi



# Get list of database names

databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "|" | grep -v Database`



for db in $databases; do



  if [ $db == 'information_schema' ] || [ $db == 'performance_schema' ] || [ $db == 'mysql' ] || [ $db == 'sys' ]; then

    echo "Skipping database: $db"

    continue

  fi

  

  date=$(date -I)

  if [ "$GZIP" -eq 0 ] ; then

    echo "Backing up database: $db without compression"      

    mysqldump -u $USER -p$PASSWORD --databases $db > $BACKUP_PATH/$date-$db.sql

  else

    echo "Backing up database: $db with compression"

    mysqldump -u $USER -p$PASSWORD --databases $db | gzip -c > $BACKUP_PATH/$date-$db.gz

  fi

done



# Delete old backups

if [ "$DAYS_TO_KEEP" -gt 0 ] ; then

  echo "Deleting backups older than $DAYS_TO_KEEP days"

  find $BACKUP_PATH/* -mtime +$DAYS_TO_KEEP -exec rm {} \;

fi

       
 
В начале этого скрипта вы заметите 5 настраиваемых параметров. Основные из них, которые вам нужно будет отредактировать - это ПОЛЬЗОВАТЕЛЬ и ПАРОЛЬ. Это должно быть изменено на пользователя и пароль MySQL, который имеет разрешения на создание списка и резервное копирование баз данных. После того, как вы изменили параметры, сделайте сценарий исполняемым с помощью следующей команды:
sudo chmod +x mysql-backup.sh Теперь вы можете протестировать скрипт резервного копирования, выполнив: sudo ./mysql-backup.sh

Шаг 2. Создание запланированной задачи в crontab

Теперь мы запланируем ежедневный запуск скрипта резервного копирования. Мы сделаем это, добавив вызов скрипта mysql-backup.sh в cron. Выполните следующую команду, чтобы добавить скрипт в crontab:
sudo crontab -e
Теперь добавьте к последней строке файла следующее:
  @daily sh /scripts/mysql-backup.sh >> /var/log/mysql-backup.log 2>&1
Теперь у вас должна быть ежедневная резервная копия всех ваших баз данных MySQL.


Комментарии

Популярные сообщения из этого блога

Команды Yum (Oracle linux,Cent os, RHEL)

Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен. отображение команд и опций #yum help список названий пакетов из репозиторий #yum list список всех доступных пакетов #yum list available список всех установленных пакетов #yum list installed установлен ли указанный пакет #yum list installed httpd список установленных и доступных пакетов #yum list all список пакетов, относящихся к ядру #yum list kernel отображение информации о пакете #yum info httpd список зависимостей и необходимых пакетов #yum deplist httpd найти пакет, который содержит файл #yum provides "*bin/top" поиск пакета по имени и описанию #yum search httpd #yum search yum получить информацию о доступных обновлениях безопасности #yum updateinfo list security вывести список групп #yum gr

Установка и конфигурирование Oracle Enterprise Manager 13c.

Этот пост поможет правильно установить и сконфигурировать Oracle Enterprise Manager 13c. Oracle Enterprise Manager - Это централизованный центр управления и мониторинга для всех продуктов Oracle. OEM способен управлять и мониторить и сторонние приложения и сообщать о всех критических проблемах основанные на установленных правилах установленные администратором. Первоначальные настройки системы Oracle Linux 6.7 64 Bit Virtual Machine VirtualBox 5.1.6 for Windows hosts Oracle Database 12.1.0.2 Oracle Enterprise Manager 13c Выделена оперативной памяти 12 Гб . На операционной системе Oracle Linux 6.7 64 Bit предустановлена база данных Oracle Database 12c установка которой тут не рассматривается. Предустановленные пакеты для корректной установки и настройки Oracle Management Service (OMS) make-3.81 binutils-2.20 gcc-4.4.4 libaio-0.3.107 glibc-common-2.12-1 libstdc++-4.4.4 libXtst-1.0.99 (x86_64) sysstat-9.0.4 glibc-2.12 glibc-devel-2.1

Запуск Spring Boot App из командной строки

Я расскажу вам, как запустить приложение Spring Boot из командной строки в окне терминала. Есть несколько способов, и оба предполагают, что вы уже создали приложение Spring Boot. Добавить плагин Maven в POM . XML Чтобы мы могли запускать приложение Spring Boot в виде единого исполняемого файла JAR Java , нам сначала нужно обновить файл pom . xml нашего проекта и добавить к нему подключаемый модуль maven . Откройте файл pom . xml и добавьте следующий фрагмент XML ниже списка зависимостей проекта. <build> <plugins> <plugin> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-maven-plugin </artifactId> </plugin> </plugins> </build> Сборка Spring Boot проекта с Maven Чтобы иметь возможность запускать приложение Spring Boot , вам необходимо сначала его собрать. Чтобы собрать и упаковать приложение Spring Boot в один исполняемый файл Jar с