mysql - Bash 脚本 - 将 .TAR 文件分割成更小的部分

标签 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 函数上传它们?

最佳答案

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

split -b500k $DESTFILE ${DESTFILE}-

将把 $DESTFILE 分割成 500 KB 的片段,称为:

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

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

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

关于mysql - Bash 脚本 - 将 .TAR 文件分割成更小的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218577/

相关文章:

php - php 或 mysql 数据中的计算

sql-server-2005 - DBA - SQL Server 2005 - 备份

mongodb - 备份 mongodb docker 实例的最佳策略?

sql - 如何备份Sql Server到sql文件?

mysql - 连接mysql时出现Grails错误

php - mysql 的双重输出。我想知道我做错了什么

node.js - NodeJS 守护进程在树莓派上启动时不启动

bash - 如何在 PS1 中设置条件换行符?

bash - 如何在构建时将环境变量设置为Docker镜像名称

mysql - MySQL 每个数据库可以有一个文件吗?