Сценарии оболочки: найдите файл с именем error_log и проверьте размеры, удалите, если размер превышает определенный - PullRequest
0 голосов
/ 07 июня 2010

Я пытаюсь создать скрипт / команду оболочки, которая находит файлы error_log, созданные PHP, проверяет их размеры и удаляет их, если они превышают определенный размер.

Я только что получил печать файлов и размеров файлов с кодом ниже

for i in `locate -r 'error_log$'`;do echo "$i|" `stat -c %s $i`;done

Может кто-нибудь помочь?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 07 июня 2010

Я бы рекомендовал использовать logrotate, но это предполагает, что вы знаете, где находятся файлы журналов. Я бы не стал использовать locate, поскольку он использует базу данных, которая может устареть или вообще не обновляться.

1 голос
/ 07 июня 2010
find $DIR -type f -name error_log -size +${BYTES_MIN}c -print0 |xargs -0 rm

Например:

find . -type f -name error_log -size +500k -print0 |xargs -0 rm

Это тихо удалит любой файл журнала ошибок в любом месте текущего каталога и размером более 500 КБ (c для байтов, k для килобайт, M для мегабайт, ...) Если вы хотите, чтобы уничтожение было завершено, добавьте -v к rm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...