লগ কোনও নির্দিষ্ট আকারের অতিক্রম না করা হলে একটি অন্তরের ভিত্তিতে লগটি কীভাবে আবর্তিত করবেন?


20

লোগ্রোটেটের ম্যান পৃষ্ঠা থেকে:

মাইন সাইজ সাইজ
লগ ফাইলগুলি যখন আকার বাইটের চেয়ে বড় হয় তখন ঘোরানো হয় তবে অতিরিক্তভাবে নির্দিষ্ট সময়ের ব্যবধানের আগে নয় (দৈনিক, সাপ্তাহিক, মাসিক বা বার্ষিক)। সম্পর্কিত আকার বিকল্পটি সময় ব্যবধান বিকল্পগুলির সাথে পারস্পরিকভাবে একচেটিয়া ব্যতীত একই রকম এবং এটি শেষ পর্বের সময়টিকে বিবেচনা না করে লগ ফাইলগুলি ঘোরানো হতে পারে। যখন মিনিসাইজ ব্যবহার করা হয়, তখন লগ ফাইলের আকার এবং টাইমস্ট্যাম্প উভয়ই বিবেচনা করা হয়।

আকারের আকার
লগ ফাইলগুলি যখন আকার বাইটের চেয়ে বড় হয় তখন ঘোরানো হয়। যদি আকারটি কে দ্বারা অনুসরণ করা হয় তবে আকারটি কিলোবাইটে ধারণ করা হয়। যদি এম ব্যবহার করা হয় তবে আকারটি মেগাবাইটে এবং জি ব্যবহার করা হলে আকারটি গিগাবাইটে। সুতরাং আকার 100, আকার 100 কে, আকার 100 এম এবং আকার 100 গ্যার সব বৈধ।

আমি সেট আকার যেমন 5M এবং ব্যবধান যেমন সাপ্তাহিক যে লগগুলি একটি সাপ্তাহিক ভিত্তিতে এবং অতিরিক্ত আবর্তনের উপর আবর্তিত পেতে হবে ঘটবে যদি লগ আকার 5M অতিক্রম করে চিন্তা। তবে যা ঘটে তা হ'ল লগটি 5M এর বেশি না হলে এটি ঘোরানো হয় না, যা মনে হয় মিনিসাইজটি করার কথা।

আমি কি ম্যানুয়ালটি ভুলভাবে ব্যাখ্যা করছি? আমি সাপ্তাহিক ভিত্তিতে লগটি ঘোরার জন্য কীভাবে পেতে পারি এবং যদি এটি 5 এম ছাড়িয়ে যায়?

সম্পাদনা করুন:

নিম্নলিখিত তথ্যগুলি প্রাসঙ্গিক কিনা তা আমি নিশ্চিত নই, তবে কেবলমাত্র পরিপূরক হিসাবে:

আমি বার্তা, সুরক্ষিত, ক্রোন, মাইলগ, বুটের জন্য প্রধান লগিং করতে আরএসএসলগ ব্যবহার করছি। নীচে বর্ণিত পেনাল্টিমেট লগগুলির ঘূর্ণন তারিখ এবং ফাইলের আকার যেখানে উপরে বর্ণিত হিসাবে আকার এবং বিরতি সেট করা হয়েছে:

filename  rotation date  file size
messages  20130129       5.3MB
secure    20130113       5.1kB
cron      20130113       3.6kB
maillog   20130113       1.1kB

যেমন দেখা যায়, কেবল বার্তাগুলিই ঘোরানো হয়।

EDIT2:

আমি চেক থাকা উচিত man logrotate। তারা প্রকৃতপক্ষে এটিকে সর্বোচ্চ আকারের বিকল্পের সাথে আপগ্রেড করেছে । আমি যা খুঁজছি এটি হ'ল:

সর্বাধিক আকারের
লগ ফাইলগুলি যখন নির্দিষ্ট আকারের অতিরিক্ত সময় (দৈনিক, সাপ্তাহিক, মাসিক, বা বার্ষিক) এর আগে আকার আকারের চেয়ে বড় হয় তখন ঘোরানো হয়। সম্পর্কিত আকার বিকল্পটি সময় ব্যবধান বিকল্পগুলির সাথে পারস্পরিকভাবে একচেটিয়া ব্যতীত একই রকম এবং এটি শেষ পর্বের সময়টিকে বিবেচনা না করে লগ ফাইলগুলি ঘোরানো হতে পারে। যখন সর্বোচ্চ ব্যবহার করা হয়, তখন লগ ফাইলের আকার এবং টাইমস্ট্যাম্প উভয়ই বিবেচনা করা হয়।

উত্তর:


24

কিছু প্রশ্নের উত্তর এখানে দেওয়া হয়: দৈনিক এবং আকার লোগ্রোটেট?

সাধারণত logrotateপ্রতিদিন একবার চালানো হবে, তাই আকারের সীমাটি ঠিক সম্মানিত হবে না। logrotateএর স্ট্যাটাস ফাইল (সম্ভবত /var/lib/logrotate.status) কেবল তারিখগুলি সঞ্চয় করে (সময় নয়), এটি বেশি ঘন ঘন ব্যবহারের উদ্দেশ্যে নয়, সুতরাং আপনি তুচ্ছভাবে আরও ঘন ঘন ফাইলগুলি ঘোরান না ( আপডেট : সংস্করণ 3.85 প্রতি ঘন্টা সমর্থন যোগ করে এবং স্টেট ফাইলটিতে একটি সম্পূর্ণ টাইমস্ট্যাম্প সঞ্চয় করে) ।)

আপনি যা syslogdব্যবহার করছেন তা বলবেন না , আরএসস্লগ এবং সিসলগ-এনজি স্ব-পরিচালিত আকার ভিত্তিক ঘূর্ণন সমর্থন করে, সুতরাং আপনার সেগুলি আকার অনুসারে ঘোরানো এবং logrotateসাপ্তাহিক ঘোরাতে সক্ষম হওয়া উচিত (যদিও কিছু ধারণা প্রয়োজন হতে পারে এক সাথে ফাইলের আবর্তন ঘটনাক্রমে কিছু মুছে না তা নিশ্চিত করার জন্য ফাইল নামকরণ) aming

অন্য একটি বিকল্প হ'ল পাইপযুক্ত লগগুলি ঠিক অ্যাপাচি-এর মতোই ব্যবহার করা, আসলে অ্যাপাচি -২.৪ এর rotatelogs ঠিক এই বৈশিষ্ট্যটিকে সমর্থন করে (পূর্ববর্তী সংস্করণগুলি কেবল আকার বা সময়কে স্বাধীনভাবে সমর্থন করে)। লগগুলি কোথা থেকে উদ্ভূত হয়েছে তা আপনি বলবেন না তবে আপনি যদি পাইপ বা ফিফোতে লগ করতে সক্ষম হন এবং rotatelogsএটি সমর্থন করে তবে ব্যবহার করতে পারেন।

সঙ্গে logrotate<= v3.8.0 তিন সমর্থিত পরিস্থিতিতে আছেন:

  1. মাপ আকারে আবর্তিত হয়, দৈনিক একবারে, সময় ব্যয় না করেই at
  2. টাইমপরিয়ড নির্বিশেষে টাইমপিরিয়ড ঘোরান, আকার নির্বিশেষে
  3. মিনিসাইজ এবং টাইমপিরিয়ড যদি লগফাইলে আকারটি মিনিট সাইজের বেশি হয়, তবে টাইমপিরিয়ড অনুসারে ঘোরান। একটি সাধারণ ব্যবহার হ'ল "মিনিসাইজ 1" যার অর্থ 0-বাইট লগগুলি ঘোরানো হয় না, নড়বড়ে হ্রাস করে।

logrotate-3.8.1 যোগ করেছেন:

  1. ম্যাক্সিমাইজটাইমারপিরিয়ড ঘোরান যখন হয় আকার সর্বাধিকের চেয়ে বেশি হয়ে যায় বা সময় কাটা সময় পরে। logrotateএক্ষেত্রে প্রতিদিন একবারে ডিফল্টের চেয়ে বেশি চালনার প্রয়োজন হতে পারে।

logrotate-3.8.5 যোগ করেছেন:

  1. প্রতি ঘন্টা সমর্থন এবং স্টেট ফাইলটিতে একটি সম্পূর্ণ টাইমস্ট্যাম্প সঞ্চয় করে। এর logrotateজন্য আপনার প্রতি ঘন্টা (কমপক্ষে) চালানো উচিত ।

আমার আপডেট দেখুন, লিঙ্কের জন্য ধন্যবাদ। মনে হচ্ছে কিছু স্ক্রিপ্টিং দরকার? মিনিসাইজটি খুব কার্যকর বলে মনে হচ্ছে না, আমি কেন আশ্চর্য হয়েছি কেন ম্যাক্সেসাইজের পরিবর্তে এটি তাদের রয়েছে।
প্রশ্ন ওভারফ্লো

1
হ্যাঁ, সর্বাধিক বিকল্প এখন উপলব্ধ। কেস বন্ধ :)
প্রশ্ন ওভারফ্লো

স্পষ্ট করেছিলাম যে আমি আপনার আপডেটটি পড়ার আগে দস্তাবেজে ... উত্তর এখন প্রসারিত হয়েছে। ধন্যবাদ.
মিঃ স্পুর্যাটিক

1
> লোগ্রোটেটের স্থিতি ফাইল (সম্ভবত /var/lib/logrotate.status) কেবল তারিখগুলি সঞ্চয় করে (সময় নয়) এই বিবৃতিটি পুরানো হতে পারে। আমি স্রেফ আমার লোগ্রোটেটের স্থিতি ফাইলটি যাচাই করেছি এবং এতে দ্বিতীয় রেজোলিউশনের টাইমস্ট্যাম্প রয়েছে: "/var/log/kern.log" 2018-3-12-1: 8: 16
হাইপারাইর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.