【问题标题】:Bash script - splitting .TAR file in smaller partsBash 脚本 - 将 .TAR 文件拆分为较小的部分
【发布时间】:2011-08-29 16:38:30
【问题描述】:

这是 .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 函数上传它们?

【问题讨论】:

    标签: mysql bash backup tar dropbox


    【解决方案1】:

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

    split -b500k $DESTFILE ${DESTFILE}-
    

    $DESTFILE 拆分为 500 KB 的片段,称为:

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

    然后你可以用类似的东西循环它们:

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

    【讨论】:

    • 我怎样才能在 Windows 上加入它们以在此之后提取?
    • @Mark:我认为你会使用copy /a parts... dest,但我的 Windows 知识相当薄弱。
    【解决方案2】:

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

    copy /b parts.. dest
    

    /a 用于 ASCII 文本文件。

    【讨论】:

    • 这与原始问题无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2012-06-06
    • 2012-06-26
    • 2011-07-13
    • 2021-11-08
    • 1970-01-01
    相关资源
    最近更新 更多