Повернуть вывод nohup

Я работаю с weblogic 10.3.5 под Ubuntu 12.04.

Weblogic начал использовать

nohup ./startWebLogic.sh >Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.out 2>&1 </dev/null &

Работает нормально и теперь хотелось бы повернуть AdminServer.out с помощью logrotate но, кажется, это не так просто сделать. Поиск в интернете не очень понятно, если это возможно или нет.

Я пытался использовать copytruncate опции. Когда выполняется logrotate, размер файла становится равным 0, но возвращается к исходному размеру после первой "записи" сервера.

Также попытался переименовать файл. Сервер все еще пишет в переименованный файл.

Кажется, на сервере есть только указатель на файл, независимо от его имени или размера.

Итак... есть ли решение? Используя логротейт или нет.

--РЕДАКТИРОВАТЬ--

Я тоже пробовал с

#!/bin/bash
mkdir -p tmp
if [ ! -p tmp/weblogic.fifo ]; then
    mkfifo tmp/weblogic.fifo
fi
tail -f tmp/weblogic.fifo >> Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.out &
nohup ./startWebLogic.sh > /home/me/tmp/weblogic.fifo 2>&1 </dev/null &

Я не знаю, правильно ли это, но... есть, по крайней мере, одна проблема: иногда зависает запись в файл. Иногда несколько секунд, но через некоторое время (даже до запуска сервера) ... на неопределенный срок!

Поэтому я не могу проверить logrotate.

2 ответа

Решение

Решение было в конечном итоге так просто

nohup ./startWebLogic.sh 2>&1 </dev/null | cat >> AdminServer.out &

а теперь AdminServer.out может вращаться с logrotate и copytruncate вариант.

Отучить необходимость logrotate, Вам не нужно logrotate на первом месте. Эта проблема решается с середины 1990-х годов.

Получить себе один или несколько из:

и отправить стандартный вывод скрипта и стандартную ошибку через канал на их стандартный ввод обычным способом:

./startWebLogic.sh 2> & 1 | журналы циклов / 

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

дальнейшее чтение

Другие вопросы по тегам