我在使用 crontab
时遇到了问题。我想自动备份一个 MySQL 数据库。
设置:
在 shell 中,这个命令可以工作
mysqldump -u user -p[user_password] [database_name] | gzip > dumpfilename.sql.gz
当我使用 crontab-e 将其放在 crontab 中时
* * /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
我希望你能给我一个解释。
谢谢