所以我有一个脚本试图在服务器上创建一个sql文件,然后拉下该文件。我遇到了在写入文件之前执行GZip调用的问题。奇怪的是,当我在我的VM实例上运行它时,它完全没问题。但是当我在其中一台服务器上测试它时,只会失败。
echo "Backing up $DB..."
$PROG_MYSQLDUMP -u $USERNAME -p${PASSWORD} -h $HOST $DB $IGNORES > ${DEST_FILE}
echo "Zipping file...${DEST_FILE}"
$PROG_GZIP $DEST_FILE
我唯一的想法就是在进行GZip调用之前添加一个检查来检查文件,然后只是在X检查失败后继续检查。我不喜欢这个解决方案。是否有一些我想让脚本独自等待的东西?
感谢。
答案 0 :(得分:4)
在编写转储之前,gzip程序无法启动。无论如何,为什么不用gzip来管理转储?这应该节省时间和临时磁盘空间。此外,它还可以减少磁盘上的负载。
$PROG_MYSQLDUMP -u $USERNAME -p${PASSWORD} -h $HOST $DB $IGNORES |
$PROG_GZIP > $DEST_FILE.gz
答案 1 :(得分:4)
还是管道? Evades临时文件。
$PROG_MYSQLDUMP -u $USERNAME -p${PASSWORD} -h $HOST $DB $IGNORES | $PROG_GZIP > ${DEST_FILE}