Intereting Posts
Изменить привязку порта с 127.0.0.1 до 0.0.0.0 на Oracle Linux 6 (RHEL 6) Смонтируйте «спящий» раздел Windows, зашифрованный битлокатором Как подавить вывод VLC при вызове его из оболочки bash glob не работает должным образом (в качестве параметра указывается родительский каталог) Как установить hulahop Systemd weirdness: невозможно добавить зависимость, существует файл Что такое текстовая команда для именования окна в gnu-screen? Вызывает ли bash `execve ()` без внесения дополнительных изменений в то, как execve () обрабатывает расположение сигналов? Fedora 23: установка на виртуальные окна Windows 10 хост Fedora не загрузится. Индикатор хода запуска идет полностью вправо, а затем все просто зависает Извлечение значения между двойными кавычками Установка zpool (сервер Solaris и клиент Freebsd) вырезать первые два символа во второй колонке Как найти повторяющиеся строки в текстовом файле, в то время как некоторые могут быть прокомментированы или иметь разные токены в начале? Как запустить GDB в фоновом режиме и вернуть его обратно?

как создать скрипт для резервного копирования баз данных MySQL на отдельные файлы?

Мне нужно создать сценарий для автоматизации процесса резервного копирования для моего сервера базы данных. Сегодня на сервере имеется 19 баз данных и для предотвращения создания какой-либо схемы и не предусмотрены сценарием, я бы хотел, чтобы она резервировала все базы данных, перечисленные в запросе «show schemas».

Моя идея состоит в том, что каждая схема сбрасывается дважды (т. Е. В 0h00 и 12h00) в день, сжимается и сохраняется в папке /home/{user}/database_backup/daily/[day_of_week] .

Раз в неделю все папки [day_of_week] сжимаются и сохраняются в /home/{user}/database_backup/weekly/[week_of_month] .

Наконец, раз в месяц все [week_of_month] будут сжаты сохраненными в /home/{user}/database_backup/monthly/ и останутся там, чтобы другое приложение могло выполнить резервное копирование на ленту.

Сегодня это приложение для резервного копирования на магнитную ленту ежедневно поддерживает резервное копирование /var/lib/mysql , но должно быть, восстановление этих файлов или использование их на другом сервере базы данных несколько сложно.

Я знаю, что это слишком открытый вопрос, но помощь, как всегда, ценится.

Вы можете перебрать все базы данных на сервере и экспортировать их один за другим, как это в сценарии оболочки:

 #!/bin/sh HOSTNAME='localhost' MYSQLUSER='root' MYSQLPASS='xyz' for DB in $(mysql -h $HOSTNAME -u $MYSQLUSER --password=${MYSQLPASS} --batch --skip-column-names --execute="show databases"); do local FILENAME=${HOSTNAME}_Database_${DB}.sql.gz mysqldump $DB -h $HOSTNAME -u $MYSQLUSER --password=${MYSQLPASS} --triggers --routines --event | gzip -c > $FILENAME done