У меня возникают проблемы с работой crontab
. Я хочу автоматизировать резервное копирование базы данных MySQL.
Настройка:
- Debian GNU/Linux 7.3 (wheezy)
- Версия сервера MySQL: 5.5.33-0 + wheezy1 (Debian)
- каталоги пользователей, резервное копирование и резервное копирование2 имеют разрешение 755
- Имена пользователей для MySQL db и учетной записи Debian одинаковы
Из оболочки эта команда работает
mysqldump -u user -p[user_password] [database_name] | gzip > dumpfilename.sql.gz
Когда я помещаю это в crontab, используя crontab -e
* * /usr/bin/mysqldump -u user -pupasswd mydatabase | gzip> /home/user/backup/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz >/dev/null 2>&1
Файл создается каждую минуту в каталоге /home/user/backup, но имеет 0 байт.
Однако, когда я перенаправляю этот вывод во второй каталог, backup2, я замечаю, что в нем создается надлежащий файл mysqldumpfile, должным образом сжатый. Я не могу понять, что является ошибкой, которую я делаю, что приводит к 0-байтовому файлу в первом каталоге и ожидаемом выходе во втором каталоге.
* * /usr/bin/mysqldump -u user -pupasswd my-database | gzip> /home/user/backup/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz >/home/user/backup2/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz 2>&1
Я очень благодарен за объяснение.
Спасибо