Укажите буфер нулевого размера для стандартного потока вывода Python. Это можно сделать, вызвав Python с флагом -u
или с помощью следующего оператора.
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
Чтобы использовать другого пользователя с logrotate, вы можете указать опцию «su»:
/home/ubuntu/log/*.log {
su ubuntu ubuntu
rotate 5
daily
compress
missingok
}