Назад | Перейти на главную страницу

Поворот файла журнала nohup.out

Есть несколько вопросов о том, как повернуть выходной файл, созданный с помощью nohup. В большинстве ответов сказано использовать logrotate с copytruncate вариант.

Однако на самом деле это не работает - когда происходит ротация, он создает повернутые файлы журнала в порядке, но исходный файл фактически не усекается, и дальнейший вывод журнала продолжает добавляться.

Это также происходит, если я не использую nohup и просто беги myscript.py >>myscript.log (так что в основном copytruncate кажется совершенно бесполезным).

Как это сделать «правильно»? (Если требуется настраиваемый скрипт, предпочтительнее Bash или Python.)

Правильный способ сделать это - написать код myscript.py так что он записывает в файл журнала, а не в стандартный вывод, и реагирует на сигналы, закрывая и повторно открывая файл журнала.