Оптимизировать время создания архива

Может быть, так просто?:

systemctl enable wap.service

-1
14.01.2021, 17:04
2 ответа

Поскольку вы создаете свой архив /var/TuningLogв /var/TuningLog, создаваемый вами архив содержит архив, который вы создали неделю назад или ранее. У вас есть постоянно растущий архив архивов.

Либо измените свой find, чтобы исключить ваши архивы (\! -name '*.tar.gz'), если это не исключает разыскиваемые файлы.

ИЛИ

Сохраните свои архивы в другом месте.

2
18.03.2021, 22:36

Использование конвейера find | tarвосходит к каменному веку UNIX, когда единственным способом повторного использования кода было объединение команд через конвейеры.

Это медленно, потому что для каждого файла требуется запускать stat(2)дважды.

  • Один раз из команды find(1)для определения интересующих файлов

  • В другой раз изнутри tar(1), потому что tar нужны метаданные для архивирования

Уже 33 года существует еще один способ комбинирования повторно используемого кода с использованием общих библиотек, а уже 16 лет существует libfind, который включает все функции команды find таким образом, что позволяет повторно использовать эту функциональность.

Поскольку вы используете не -стандартные tarпараметры, такие как -T, кажется, что вы используете gtarвместо tar, а gtar известен своим неэффективным кодом для создания заголовков tar.

Я рекомендую вам взглянуть на star, самую старую бесплатную реализацию tar, которая включает поддержку libfindс 2005 года и включает поддержку опции -find, которая позволяет использовать синтаксис find(1)справа сторону -findв командной строке.

Проверьте, например,. справочная страница с веб-страницы schilytools по адресу:http://schilytools.sourceforge.net/man/man1/star.1.html

Это приводит к командной строке, похожей на:

star -c -f /tmp/xxx.tar -find. -type f -mtime +7
0
18.03.2021, 22:36

Теги

Похожие вопросы