Назад | Перейти на главную страницу

Centos резервное копирование mysql с использованием задания cron

Согласно этому руководству http://www.a2hosting.com/kb/getting-started-guide/backing-up-your-data/backups-on-dedicated-servers-and-vps пытается сделать резервную копию базы данных mysql

Я сделал:

1) созданные папки в home каталог. /home/USERNAME/backup/

2) в папке backup созданный файл с именем backup-cron-mysql.sh

3) созданный контент backup-cron-mysql.sh

#!/bin/bash
db_name=dabase_name
db_user=user
db_password=password
backup_filename=$db_name-`date +%F`

mysqldump -h localhost -u $db_user -p$db_password $db_name | gzip > /home/USERNAME/dbbackup/$backup_filename.sql.gz

Создан исполняемый файл backup-cron-mysql.sh (восьмеричное: 0755)

4) созданная папка dbbackup. дорожка: /home/USERNAME/dbbackup/

5) Использование putty.exe вошел и набрал crontab –e, затем Enter. Позднее было обнаружено, что файл конфигурации cron находится в каталоге /var/spool/cron/ и имя файла root

6) open (открыл) root файл с помощью Notepad ++ и вставил следующий код

45 14 * * *     /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh
MAILTO=my@mail.com

В результате в /home/USERNAME/dbbackup/ должен увидеть какой-то файл. Но ничего не вижу (пустая папка).

Посоветуйте, пожалуйста, что нужно исправить, чтобы сделать резервную копию mysql

Несколько мыслей:

  1. Поскольку вы используете CentOS, местоположение журналов Cron по умолчанию должно быть /var/log/cron. Там может быть не так много информации, но она должна, по крайней мере, сказать вам, пытается ли демон Cron запустить ваш скрипт.

  2. Вышеупомянутое перенаправление вывода Zeeshan могло бы работать успешно, но более простой способ записи - «перенаправить весь вывод в файл» ... например,

    45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh &> /some/file

    Хороший обзор методов перенаправления Bash находится здесь:
    http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

  3. Файлы Crontab привередливы в нескольких отношениях; один способ состоит в том, что им требуется пустая строка в качестве последней строки в файле. Я бы посоветовал убедиться, что в конце файла есть хотя бы одна пустая строка (наличие нескольких не повредит, так что вы можете добавить туда пару для хорошей меры).

  4. Вы запускали сценарий резервного копирования вручную, прежде чем пытаться автоматизировать его с помощью Cron? Если есть проблема с самим скриптом, добавление автоматизации Cron поверх него только усложнит устранение неполадок.

Проверьте следующий файл для вывода журнала cron. / var / журнал / системный журнал

Вы также можете отфильтровать журнал с помощью этой команды:

grep CRON /var/log/syslog

Чтобы настроить вход в свою работу cron:

 45 14 * * *     /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh 2>&1 >> /var/log/myjob.log

https://askubuntu.com/questions/56683/where-is-the-cron-crontab-log