Mam aplikację linux, która stale zapisuje informacje logowania do pliku dziennika, np. /var/log/application.log. Ponieważ aplikacja nie obraca pliku automatycznie, ten plik dziennika może osiągnąć rozmiar gigabajtów w ciągu kilku tygodni, więc chcę mieć możliwość prawidłowego obracania tego pliku
Moją główną obawą jest to, że aby zawsze obracać plik otwierany przez aplikację, prawdopodobnie będę musiał:
Przenieś plik do jego obróconej postaci
/var/log/application.log -> /var/log/application.log.2013-01-28Utwórz pusty
/var/log/application.log. Obs: W tym momencie proces aplikacji wciąż pisze/var/log/application.log.2013-01-28Zmień deskryptor pliku procesu aplikacji, aby wskazywał ponownie
/var/log/application.log
Więc mam rację? Jeśli tak, jak mogę to zrobić? (głównie zmiana części deskryptora pliku)
Jeśli nie, jaki jest właściwy sposób i jak to zrobić?
dup2nowy deskryptor nad starym, a następnie zamknij nowy deskryptor.)