我在crontab
上班时遇到问题。我想自动执行MySQL数据库备份。
设置:
- Debian GNU / Linux 7.3(简述)
- MySQL服务器版本:5.5.33-0 + wheezy1(Debian)
- 目录用户,backup和backup2具有755权限
- MySQL db和Debian帐户的用户名相同
从外壳程序执行此命令
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时,我注意到在其中正确压缩了正确的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
我将不胜感激的解释。
谢谢