Скрипт Bash - разбиение файла .TAR на более мелкие части - PullRequest
0 голосов
/ 28 августа 2011

это часть скрипта .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?

Ответы [ 2 ]

2 голосов
/ 28 августа 2011

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

split -b500k $DESTFILE ${DESTFILE}-

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

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

Тогда вы можете просмотреть их что-то вроде:

for x in ${DESTFILE}-*
do
    dropboxUpload $x
end
0 голосов
/ 29 августа 2011

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

copy /b parts.. dest

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

...