© SibTone Group 2007-2024
Мы используем стабильные решения
для безотказной работы систем,
каждый день, круглый год

Mysql

Создание резервных копиий баз данных MySql

Создадим в своей домашней директории (home/USER_NAME) на сервере скрипт sql_backup.sh

 

#!/bin/sh

# зададим для переменной "data" дату в формате -день, месяц, год,
     часов, минут, секунд.

data=`/bin/date +%d.%m.%Y_%H-%M-%s`

# копируем данные из MySql в текстовый файл

/usr/local/bin/mysqldump --all-databases --user=NAME 
   --password=PASS > /home/USER-NAME/sql_dump.sql

#сжимаем текстовый файл в архив

/usr/bin/gzip --best /home/USER-NAME/sql_dump.sql

#Переименовываем файл sql_dump.sql.gz в sql_dump_${data}.sql.gz

/bin/mv sql_dump.sql.gz sql_dump_${data}.sql.gz

 

В строке  /usr/local/bin/mysqldump ... можно добавить дополнительные опции:

  • Чтобы изменить кодировку данных в скрипте, используйте опцию

--default-character-set=charset_name

 

  • Использовать один оператор INSERT для одной строки данных. Повышает читабельность дампа

--complete-insert

 

Чтобы добавить в задание Crontab, используйте команду - crontab -e

 #Создание резервной копии через каждые 45 минут

 */45 * * * *  /usr/home/USERNAME/sql_backup.sh 1>/dev/null 2>&1

 #Создание резервной копии каждый день в час ночи.

0 1 * * *  /usr/home/USERNAME/sql_backup.sh 1>/dev/null 2>&1

  • (Чаще всего перенаправление в  /dev/null используется для подавления стандартного вывода (выходного потока) и /или вывода сообщений об ошибках (потока диагностики) программы их перенаправлением в  /dev/null, такое подавление чаще всего используется в командных сценариях (shell scripts) для подавления нежелательного вывода на консоль

- сделать что-то >  /dev/null 2>&1).

 

стандартные значения ввода и вывода для программ
0 ввод STDIN обычно получают от клавиатуры, или из программы
1 вывод STDOUT программа обычно выводит в стандартной вывод
2 ошибка STDERR вывод программой стандартной ошибки

Есть три стандартных значения ввода и вывода для программ. Стандартный ввод обычно получают от клавиатуры, если это - диалоговая программа, или из программы, если она обрабатывает вывод другой программы. Программа обычно выводит в стандартной вывод, и иногда выводит в стандартную ошибку. Это три дескриптора файла называются: STDIN, STDOUT и STDERR.

Иногда их не именуют, а нумеруют! Встроенные нумерации для них соответственно - 0, 1 и 2. По умолчанию, если Вы не указывете номер или явно указываете номер 1, Вы имеете дело с STDOUT.