我们运行MySQL服务器的每日备份。 使用以下脚本:
[ ! -d "${DEST}" ] && mkdir -p "${DEST}" FILE=${DEST}/mysql-live.${NOW}-$(date +"%T").tar.gz.bz2 # get around error mysqldump --single-transaction -u $MUSER -h $MHOST -p$MPASS DB | bzip2 -k -v > $FILE
现在,当我尝试用tar xvjf解压出错时。 它会将bunzip2解压到一个tar.gz文件,但是当我尝试使用tar xvf,xzvf,gunzip解压缩时,它不显示gzip压缩文件。 但是,如果我尝试将其重命名为tar,则不会显示tar归档文件。
如果任何人有任何想法,我在这里稍微糊涂,因为我没有select。 那会摇摆。 它在CentOS上。
你的命令
mysqldump --single-transaction -u $MUSER -h $MHOST -p$MPASS DB | bzip2 -k -v > $FILE
说转储一个数据库,并输出到bzip2这应该把它的标准输出到$文件。
标准input的内容将被压缩并写入例如a.tar.gz.bz2。 这不会创buildtar归档文件或gzip压缩tar归档文件(.tar.gz),只是简单地创build一个带有令人困惑名称的.bz2压缩归档文件。
当您尝试提取归档文件的内容(原因未知)时,您尝试使用tar实用程序并且出现意外的错误信息,可能类似于
tar -xvjf a.tar.gz.bz2 tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors
这是正确的,因为该文件不是bzip压缩的gzip压缩tar归档文件。 你可能需要类似的东西
bunzip a.tar.gz.bz2
由于您没有生成tar归档文件或gzip压缩归档文件,因此您应该不会将.tar.gz作为文件名的一部分,因为您发现它只是造成混淆。