test.sh
#!/bin/bash
echo "Hello World"
test2.sh
#!/bin/bash
while true
do
sh test.sh >> /script_logs/test.log &
done
Я хочу реализовать logrotate для управления размером файла журнала, так как же реализовать logrotate, если ситуация похожа на описанную выше?
cp
иmv
, могу ли я удалить файл журнала, затем будет ли он новый файл журнала с тем же именем? (Мое требование: если файл журнала достигнет определенного предела, я хочу удалить этот файл журнала, а затем создать новый файл )>>
чтобы добавить к файлу журнала,>
будет перезаписывать его снова и снова.>
, я получаюtail: test.log: file truncated Hello World!
.... Если я использую>>
, я получаю правильное сообщение журнала, но размер файла увеличивается. Нет условия проверки состояния ...как насчет использования
savelog
?Он доступен в Debian и RH, и почти во всех остальных дистрибутивах Linux, о которых я знаю. Это скрипт оболочки / bin / sh, поэтому должен работать и на любом другом Unix.
например, прежде чем писать что-либо для
test.log
запускаsavelog -n -c 7 test.log
. Это сохранит 7 самых последних непустых версий test.log. По умолчанию он сжимает повернутые логи (но это можно отключить с помощью-l
).Если вам нужно, вы можете проверить размер
test.log
и толькоsavelog
его, если он превышает определенный размер.источник
/usr/bin/savelog
скрипт на sources.debian.net/src/debianutils/4.7savelog
ни в одном из своих RHEL / CentOS 5/6 ящиков, поэтому я только что скачал его ad hoc, и, похоже, он отлично работает для моих нужд.savelog
является то, что он переименовывает файл, но затем занимает много времени, чтобы сжать старые, прежде чем закончить. Между тем журнал .0 уже получает записи следующих дней. В идеале время между ротацией журнала и сигналом процесса повторного открытия журнала должно быть минимальным. Из-за этого я отключаю функциюsavelog
сжатия.Я написал logrotee в эти выходные. Я бы не стал, если бы прочитал замечательный ответ
multilog
@ JdeBP .Я сосредоточился на том, чтобы он был легким и имел возможность bzip2 его выходных блоков, таких как:
Однако многое еще предстоит сделать и проверить.
источник
Поскольку я пока не могу добавить комментарии к принятому ответу , подсказка BusyBox , где
du
нет-b
флага:источник