Поскольку вы создаете свой архив /var/TuningLog
в /var/TuningLog
, создаваемый вами архив содержит архив, который вы создали неделю назад или ранее. У вас есть постоянно растущий архив архивов.
Либо измените свой find
, чтобы исключить ваши архивы (\! -name '*.tar.gz'
), если это не исключает разыскиваемые файлы.
ИЛИ
Сохраните свои архивы в другом месте.
Использование конвейера 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