হ্যাঁ, একটি সঠিক উপায় আছে: আপনি লগগুলি একেবারেই সাফ করবেন না । আপনি তাদের ঘোরান । আবর্তনের সাথে পূর্ববর্তী এন লগ ফাইলগুলির সাথে এন সম্পর্কিত ফাইলের নামের একটি সেটের নীচে রাখা একই নামের অধীনে একটি নতুন ফাইলে লগ আউটপুট পরিবর্তন করা জড়িত।
লগগুলি কীভাবে ঘোরানো হয় তার উপর নির্ভর করে কোনও একটি প্রথম স্থানে কীভাবে লিখছেন। এটি একটি অবহেলিত বিন্দু। এখানে কিছু উত্তর কমপক্ষে এটি স্পর্শ করে উল্লেখ করেছে যে কিছু লগিং প্রোগ্রামগুলি লগ ফাইলের জন্য একটি উন্মুক্ত ফাইল বর্ণনাকারী রাখে, সুতরাং কেবল ফাইলটি মুছে ফেলা স্থান খালি করে না, এমনকি প্রকৃতপক্ষে এমনকি তাজা লগ ফাইলটিতে আউটপুট পরিবর্তন করতে পারে।
লগ ফাইলটি লেখার প্রোগ্রামটি যদি প্যাকেজ multilog
থেকে হয়daemontools
, উদাহরণস্বরূপ, তবে আপনি লগগুলি মোটেও ঘোরানোর জন্য কিছু করবেন না - কোনও ম্যানুয়াল স্ক্রিপ্ট নেই, কোনও cron
চাকরি নেই। সহজভাবে বলুন multilog
যে লগ আউটপুট কোনও ডিরেক্টরিতে হয় এবং এটি স্বয়ংক্রিয়ভাবে সেই ডিরেক্টরিতে এন লগ ফাইলগুলির একটি স্বয়ংক্রিয়ভাবে ঘোরানো এবং আকার-ক্যাপযুক্ত সেট বজায় রাখে।
যদি লগ ফাইলগুলি লেখার প্রোগ্রামটি প্যাকেজ svlogd
থেকে হয়runit
, অন্য উদাহরণের জন্য, তবে অনেকগুলি একই প্রযোজ্য। আপনি কোনও ডিরেক্টরি ডিরেক্টরিতে বিন্দু বাদে কিছু করতে পারবেন না। এটি স্বয়ংক্রিয়ভাবে সেই ডিরেক্টরিতে এন লগ ফাইলগুলির একটি স্বয়ংক্রিয়ভাবে ঘোরানো এবং আকার-ক্যাপড সেটটি বজায় রাখবে।
আপনি যদি rsyslog
লগ ফাইল লেখার জন্য ব্যবহার করছেন তবে লগিং প্রোগ্রামটি নির্দিষ্ট আকারে পৌঁছানোর পরে একটি স্ক্রিপ্ট চালানোর জন্য লগিং প্রোগ্রামটি বলা যেতে পারে । মোট স্ক্রিপ্টের সীমাবদ্ধতার উপর ভিত্তি করে লগ ফাইলটি পুনরায় নামকরণ এবং পুরানো লগ ফাইলগুলি মুছতে আপনাকে স্ক্রিপ্টের মাংস লিখতে হবে, তবে অন্তত লগিং প্রোগ্রামটি ফাইলটি বন্ধ করে দিয়েছে এবং লগ লিখনকে বিরতি দিয়েছে যখন এটি হচ্ছে।
syslogd
লগগুলি ঘোরানোর প্রাচীন পদ্ধতিটি এখনও সিসলগ-এনজি এর মতো লগিং প্রোগ্রামগুলির দ্বারা প্রত্যাশিত এবং সরঞ্জামগুলির দ্বারা অনুকরণীয় যেমন এখানে অন্য উত্তরে logrotate
উল্লিখিত রয়েছে djangofan
, এটি কিছুটা অবাস্তব। একটি cron
এমন একটি কাজ চালায় যা পর্যায়ক্রমে লগ ফাইলগুলির নাম পরিবর্তন করে, এবং লগিং ডেমন পুনরায় চালু করে (এটি অধীন চলমান ডিমন সুপারভাইজারকে ব্যবহার করে)। এটির সাথে অবশ্যই সমস্যাটি হ'ল এটি সামগ্রিক আকারের ক্যাপটি প্রয়োগ করে না। ধীর সপ্তাহে কেউ এন খুব ছোট দৈনিক লগ ফাইলগুলি পেতে পারে, যদিও ব্যস্ততার দিনগুলিতে আকারের সীমা ছাড়িয়ে খুব ভাল 1 টি লগ ফাইল পাওয়া যায়।
এই কেন মত পরে এবং ভাল টুলস multilog
এবং svlogd
ফাইল সাইজ কনফিগারেশন অপশন আছে এবং আসলে পরীক্ষা লগ ফাইল নিজেদের আয়তন, অবশ্যই। বিশ্ব শিখেছে যে cron
কাজের সাথে একটি সময়সূচীতে লগগুলি , বা এমনকি একটি ডেমনও পোলিংয়েরlogrotate
ফলে আকারটি ভুল হওয়ার জন্য উইন্ডো ছেড়ে যায় এবং এই চেকগুলির যথাযথ জায়গা রয়েছে এবং তাই প্রশাসক-সংজ্ঞায়িত আকারের ক্যাপগুলি কঠোরভাবে প্রয়োগ করে যাতে একটি লগ ফাইলগুলি যে পার্টিশনটি চালু রয়েছে তা কখনই গ্রাস করে না, প্রোগ্রামে আসলে ফাইলগুলি প্রথম স্থানে লিখতে থাকে।