4

я использую следующую команду для резервного копирования и файла sql:

tar -zcvf "$BACKUP_DST/$FILE_NAME.tgz" "$BACKUP_DST/$FILE_NAME.sql"

Я хочу убедиться, что сжатый файл не будет больше 300 МБ, если он превышает 300 МБ, разбить его на несколько файлов.

Какие-нибудь мысли?

1 ответ1

8

Я не думаю, что tar имеет встроенную функциональность для разделения на произвольный размер (есть -M для многотомного, но это зависит от целевого носителя, обнаруживающего состояние нехватки места), но есть две вещи, которые вы может сделать:

  1. Создайте один файл tar.gz обычным способом, затем используйте команду split чтобы разделить его на разделы (и cat чтобы соединить их вместе для распаковки).
  2. Используйте dar вместо tar, поскольку в него встроена функция разделения (среди множества других функций, которых нет в tar). Например

    $ dar -c "$BACKUPNAME" -g "$INPUTFILE.sql" -s300M -z

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .