我在crontab上班途中遇到了问题.我想自动化MySQL数据库备份.
设置:
从shell开始,这个命令有效
mysqldump -u user -p[user_password] [database_name] | gzip > dumpfilename.sql.gz
Run Code Online (Sandbox Code Playgroud)
当我使用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
Run Code Online (Sandbox Code Playgroud)
在/ 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
Run Code Online (Sandbox Code Playgroud)
我非常感谢你的解释.
谢谢