У меня есть следующая проблема:
У меня есть приложение, которое непрерывно выводит выходные данные на stderr и stdout. Выход этого приложения записывается в файл журнала (приложение перенаправляется как: &> log.txt
). У меня нет никаких возможностей для создания правильного ведения журнала для этого.
Теперь у меня есть задание cron, которое запускается каждый час и помимо других действий, оно также пытается повернуть этот файл журнала выше, скопировав его в log.txt.1, а затем создаст пустой файл и скопирует его на log.txt
Похоже:
cp log.txt log.txt.1
touch /tmp/empty
cp /tmp/empty log.txt
Проблема заключается в том, что приложение все еще пишет к ней, и из-за этого я получаю очень странный материал в log.txt.1, он начинается с множества символов мусора, а фактический файл журнала где-то в конце.
Есть ли у вас какая-либо идея, как сделать правильный журнал вращением для этой конкретной ситуации (я также пробовал cat log.txt > log.txt.1
, не работает)? Использование logrotate
для этого конкретного приложения не является опцией, есть целый механизм за кулисами, которые я не могу изменить.
Спасибо, е.