Есть несколько вопросов о том, как повернуть выходной файл, созданный с помощью nohup
. В большинстве ответов сказано использовать logrotate
с copytruncate
вариант.
Однако на самом деле это не работает - когда происходит ротация, он создает повернутые файлы журнала в порядке, но исходный файл фактически не усекается, и дальнейший вывод журнала продолжает добавляться.
Это также происходит, если я не использую nohup
и просто беги myscript.py >>myscript.log
(так что в основном copytruncate
кажется совершенно бесполезным).
Как это сделать «правильно»? (Если требуется настраиваемый скрипт, предпочтительнее Bash или Python.)
Правильный способ сделать это - написать код myscript.py
так что он записывает в файл журнала, а не в стандартный вывод, и реагирует на сигналы, закрывая и повторно открывая файл журнала.