हम अपने Ubuntu सर्वर पर अपनी सेवाओं का प्रबंधन करने के लिए upstart का उपयोग करते हैं। वे लॉग का उत्पादन करते हैं, जो /var/log/upstart/SERVICE_NAME.log पर लॉग आउट हैं
फिर प्रतिदिन, लॉग फाइल को लॉगऑप्शन स्क्रिप्ट का उपयोग करके घुमाया जाता है जो 12.04 LTS के साथ आती है:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
समस्या यह है कि जब लॉगरोट फाइलों को स्थानांतरित करता है, तो यह फाइलों को बंद करने और फिर से खोलने के लिए संकेत करने के लिए प्रकट नहीं होता है, अपस्टार्ट प्रक्रिया लेखन को हटाकर पीआईडी को छोड़ देता है।
init 1 root 8w REG 202,1 64 2431 /var/log/upstart/dbus.log.1 (deleted)
init 1 root 13w REG 202,1 95 2507 /var/log/upstart/acpid.log.1 (deleted)
init 1 root 14w REG 202,1 127 17377 /var/log/upstart/whoopsie.log.1 (deleted)
init 1 root 36w REG 202,1 122 6747 /var/log/upstart/SERVICE_NAME.log.1 (deleted)
init 1 root 37w REG 202,1 30 6762
जाहिर है मैं अपनी स्वयं की सेवाओं से अन्य लॉग फ़ाइलों में आउटपुट को पुनर्निर्देशित कर सकता हूं, लेकिन सिस्टम प्रक्रियाओं के लिए समस्या अभी भी होगी। इसके अलावा मुझे अपनी ज़रूरत से ज़्यादा बुनियादी ढांचा नहीं बनाना होगा।
nocreate
निर्देश के कारण, यह निश्चित नहीं है कि कोई भी इस निर्देश का उपयोग क्यों करेगा, विशेष रूप से उन सेवाओं के लिए जो संभावित रूप से आउटपुट का एक बहुत कुछ लिख सकते हैं