ম্যান পেজ logrotateবলে যে:
It can be used when some program cannot be told to close its logfile
and thus might continue writing to the previous log file for some
time.
আমি এতে বিভ্রান্ত একটি প্রোগ্রাম তার লগ ফাইল বন্ধ করতে বলা যাবে না, এটা লিখতে অব্যাহত থাকবে চিরকাল , না একদা । যদি পরবর্তী ঘূর্ণন চক্রটিতে সংক্ষেপণ স্থগিত করা হয় তবে প্রোগ্রামটি পরবর্তী রোটেশন চক্রের পরেও সেই ফাইলটিতে লিখতে থাকে। স্থগিতাদেশ কীভাবে সমস্যার সমাধান করছে?
আমার বোধগম্যতাটি copytruncateতখন ব্যবহার করা উচিত যখন কোনও প্রোগ্রাম লগফিল বন্ধ করতে বলা না যায়। আমি সচেতন যে লগফাইলে লিখিত কিছু ডেটা কপি প্রগতিতে থাকা অবস্থায় হারিয়ে যায়।
আমি কাউচডিবি-র জন্য লোগ্রোটেট ফাইলটির দিকে চেয়ে ছিলাম এবং এতে উভয়ই copytruncateএবং delaycompressবিকল্প ছিল।
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
দেখে মনে হচ্ছে ইতিমধ্যে delaycompressযখন সেখানে রয়েছে তখন কোনও বিন্দু copytruncateনেই। আমি কী মিস করছি?
copytruncate, প্রোগ্রামটির লগফাইলে বন্ধ করার জন্য বলার দরকার নেই। সুতরাংdelaycompressসাথে বরাবর এটি অর্থহীনcopytruncate?