Bash脚本 - 将.TAR文件拆分为较小的部分

时间:2011-08-28 01:55:38

标签: mysql bash backup tar dropbox

这是.sh脚本的一部分我需要编辑以进行一些备份并将它们上传到Dropbox上,但我需要将该备份拆分为较小的部分。

NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tgz"

# Backup mysql.
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
tar cfz "$DESTFILE" "$NOW-Databases.sql"

然后在DropBox上传备份的功能......

dropboxUpload "$DESTFILE"

如何将.tar文件拆分成较小的部分(例如100或200mb大小)并获取使用dropboxUpload函数上传它们的名称和文件数?

2 个答案:

答案 0 :(得分:2)

您可以使用split。例如,这个:

split -b500k $DESTFILE ${DESTFILE}-

$DESTFILE拆分为500 KB的文件:

${DESTFILE}-aa
${DESTFILE}-ab
${DESTFILE}-ac
...

然后你可以用以下内容循环它们:

for x in ${DESTFILE}-*
do
    dropboxUpload $x
end

答案 1 :(得分:0)

要在Windows中加入二进制文件,请使用

copy /b parts.. dest

/ a用于ASCII文本文件。