Создадим в своей домашней директории (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
--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 2>&1).
| стандартные значения ввода и вывода для программ | |||
| 0 | ввод | STDIN | обычно получают от клавиатуры, или из программы |
| 1 | вывод | STDOUT | программа обычно выводит в стандартной вывод |
| 2 | ошибка | STDERR | вывод программой стандартной ошибки |
Есть три стандартных значения ввода и вывода для программ. Стандартный ввод обычно получают от клавиатуры, если это - диалоговая программа, или из программы, если она обрабатывает вывод другой программы. Программа обычно выводит в стандартной вывод, и иногда выводит в стандартную ошибку. Это три дескриптора файла называются: STDIN, STDOUT и STDERR.
Иногда их не именуют, а нумеруют! Встроенные нумерации для них соответственно - 0, 1 и 2. По умолчанию, если Вы не указывете номер или явно указываете номер 1, Вы имеете дело с STDOUT.