Вместо того, чтобы заархивировать файл по мере его записи, переместите его в сторону, а затем заархивируйте статический файл ...
mv / home / user / mylog /home/user/mylog.0; gzip /home/user/mylog.0
Вам не нужно прикосновение, поскольку скрипт запускается, и если файл журнала исчезает, он должен создать его самостоятельно.
Вот тест:
Запустите этот сценарий ...
для ((;;)); сделать echo "123" >> test.log; сон 1; done
затем переместите файл под новое имя ....
mv test.log test.log.0
Новый test.log создается автоматически, если сценарий все еще Бег.
Попробуйте это в цикле «Пока». Он работал, когда я его тестировал.
while true;do
exec 3>&1 1>>time.logger 2>&1
date;
#other stuff...
done
К сожалению, он пока не поддерживает cgroups v2
Вот открытый вопрос :https://github.com/OpenRC/openrc/issues/94
cgroup v2
можно включить в OpenRC , установив в/etc/rc.conf
:
rc_cgroup_mode="unified"
и перезагрузка.