【发布时间】:2018-05-22 13:36:20
【问题描述】:
我正在运行一个 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
【问题讨论】:
-
您应该检查 mysqldump 是否成功。如果它导致错误(例如您的密码错误,或者指定的数据库不存在),它将在 stdout 上没有输出,因此 gzip 将生成 0 字节。返回非零的退出状态 (
$?) 指示错误。 -
另一种可能性:转储被创建为 0KB 文件,因为您正在写入的文件系统在尝试备份时已满(即使您查看它时它已不再满)。无论是什么原因,在备份脚本中实施一些错误检查都很重要。
-
脚本绝对不是问题,因为它大部分时间都成功了。我每晚运行一次。一周内成功5次,失败2次(0KB)。磁盘空间也不是问题。它只有几百 k 字节,磁盘有几 GB 的可用空间。还有其他猜测吗?你能帮我检查错误吗?