Сценарий Bash - разбиение файла .TAR на более мелкие части

это часть сценария .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 или 200 МБ) и получить имя и количество этих файлов, чтобы загрузить их с помощью функции dropboxUpload?


person Mark S    schedule 28.08.2011    source источник


Ответы (2)


Вы можете использовать split. Например, это:

split -b500k $DESTFILE ${DESTFILE}-

разделит $DESTFILE на части по 500 КБ, называемые:

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

Затем вы можете прокрутить их с помощью чего-то вроде:

for x in ${DESTFILE}-*
do
    dropboxUpload $x
end
person mu is too short    schedule 28.08.2011
comment
Как я могу присоединиться к ним в окнах, чтобы извлечь после этого? - person Mark S; 28.08.2011
comment
@Mark: я думаю, вы бы использовали copy /a parts... dest, но мои знания Windows довольно слабы. - person mu is too short; 28.08.2011

Чтобы присоединиться к двоичным файлам в Windows, используйте

copy /b parts.. dest

/a для текстовых файлов ASCII.

person fredrik    schedule 29.08.2011
comment
это не имеет ничего общего с исходным вопросом. - person mandreko; 29.08.2011