mysqldump有时会返回空文件

时间:2017-12-21 19:32:12

标签: mysql cron

我正在运行一个cron作业,它使用下面的代码调用sh脚本。我注意到它有时会起作用,但有时我会得到一个0KB的文件。我不知道是什么导致这个0KB或者可以做些什么来解决这个问题。

DATE=`date +%Y-%m-%d-%H-%m`
NAME=bkp-server-207-$DATE.sql.gz
mysqldump -u root -pXXXX@2016 xxxx | gzip > /media/backup_folder/$NAME

1 个答案:

答案 0 :(得分:0)

您需要找出为什么命令失败。除非您将其重定向到文件并稍后再检查,否则cron作业的默认输出将丢失。

您可以在cron级别登录(请参阅http://www.thegeekstuff.com/2012/07/crontab-log/

59 23 * * * /home/john/bin/backup.sh >> /home/john/logs/backup.log 2>&1

2>&1将stderr折叠到stdout中,因此两者都被保存。

或者您可以在脚本中记录特定命令:

echo "Creating $NAME" >>/home/john/logs/backup.log
mysqldump -u root -pXXXX@2016 xxxx 2>>/home/john/logs/backup.log | gzip > /media/backup_folder/$NAME

一旦你有错误输出,你应该有关于失败原因的重要线索。