Я взял резервную копию папки /var/www с помощью команды tar (включая -z (gzip)):
tar -cvzf file.gz /var/www/*
Я проверил размер www. Это около 100 кб, но размер файла, созданного tar, составляет около 185 МБ. Что может быть причиной этого?
Вероятно, вы ошибаетесь в отношении того, насколько велик контент вашего исходного каталога. В случае каталогов ls -l перечисляет размер самого каталога, а не файлов, содержащихся в этом каталоге. Так, например,
drwxr-xr-x 8 www-data www-data 4096 Sep 2 03:12 some-dir
показывает вам, что сам каталог занимает 4096 байт. Но это только размер записи some-dir s в структуре вашей файловой системы. Чтобы суммировать размеры содержимого каталога, вы можете использовать du («использование диска»), например
du -s some-dir
Как и в случае с ls и рядом других команд, вы можете использовать переключатель h для «удобочитаемых» единиц:
du -s some-dir
1804 some-dir
du -sh some-dir
1,8M some-dir
На этот раз это не так (см. принятый ответ), но иногда дополнительные накладные расходы на архивирование и сжатие могут привести к большему архиву, чем исходный контент.
Это верно, когда есть чрезвычайно (! d2)
Это создало случайный файл 100M, а затем архивировался и сжал его несколькими способами. Результаты сортируются по размеру (сначала самые большие). Как вы можете видеть, накладные расходы из контейнеров tarball и заголовков сжатия велики, и существует значительное отсутствие шаблонов для сжатия.
Исходный случайный файл неудивительно наименьший здесь.
(Я использовал -ck и передал выходные данные команд сжатия, чтобы вы могли более четко видеть, какой выходной файл он создал. Это было излишним.)
Я повторил тесты gzip и xz для этого тестового видео. Было достаточно метаданных, чтобы просто сжать сжатие ( принятый ответ может спасти 68k, колоссальные 0,1%!). Я подозреваю, что это связано с репликами .mp4, чтобы обеспечить правильную поточную и аудиовизуальную синхронизацию. В этом конкретном видео отсутствует субтитры.
Короче говоря, не сжимайте случайные или сжатые данные.