Согласно этому руководству 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
Несколько мыслей:
Поскольку вы используете CentOS, местоположение журналов Cron по умолчанию должно быть /var/log/cron
. Там может быть не так много информации, но она должна, по крайней мере, сказать вам, пытается ли демон Cron запустить ваш скрипт.
Вышеупомянутое перенаправление вывода 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
Файлы Crontab привередливы в нескольких отношениях; один способ состоит в том, что им требуется пустая строка в качестве последней строки в файле. Я бы посоветовал убедиться, что в конце файла есть хотя бы одна пустая строка (наличие нескольких не повредит, так что вы можете добавить туда пару для хорошей меры).
Вы запускали сценарий резервного копирования вручную, прежде чем пытаться автоматизировать его с помощью 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