我在使用crontab
时遇到了问题。我想要自动备份MySQL数据库。
环境:
- Debian GNU/Linux 7.3 (wheezy)
- MySQL Server version: 5.5.33-0+wheezy1(Debian)
- 用户、备份和备份2目录的权限为755
- MySQL数据库和Debian帐户的用户名相同
从Shell中,这个命令可以工作。
mysqldump -u user -p[user_password] [database_name] | gzip > dumpfilename.sql.gz
当我使用crontab -e将其放置在cron表中时。* * /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 时,我注意到正确的 mysqldump 压缩文件已在其中创建。我无法弄清楚我的错误是什么,导致第一个目录中出现了 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
我非常希望能够得到一个解释。
谢谢