একটি লোগ্রোটেট চেক নিজে নিজে চালানো কি সম্ভব?


540

কিছু বিরতিতে সময় নির্ধারণ না করে লোগ্রোটেটের নিজেই একটি পুনরাবৃত্তি চালানো সম্ভব?


3
লোগ্রোটেটের সমস্যাটি হ'ল এটির একটি গ্লোবাল কনফিগারেশন ফাইল রয়েছে এবং গ্লোবাল কনফিগারেশন ফাইলটিতে সেট করা বিকল্পগুলি প্রয়োগ করার সময় এটি আপনাকে একটি একক লগ ঘোরানো সাব-কনফিগারেশন ফাইল চালাতে দেয় না। ক্রোন থেকে প্রতি রাতে চালানোর সময় ঠিক যেমনটি ঠিক একটি লগ রোটেশন ফাইল চেক চালানোর কোনও দুর্দান্ত উপায় নেই। এটি 'এই লগ ফাইলগুলির সীমাবদ্ধতা' বিকল্পের সাহায্যে বা আরও ভাল, 'গ্লোবাল কনফিগারেশন চালাতে পারে তবে কেবলমাত্র এই সাব-কনফিগারেশন ফাইলটি অন্তর্ভুক্ত করবে'।
এন্থনি

উত্তর:


716

হ্যাঁ: logrotate --force $CONFIG_FILE


115
নোট করুন যে --forceফাইলগুলি গুলি ঘোরানো হবে এমনকি তারা ছোট আকার, বয়স ইত্যাদির মতো নির্দিষ্ট মানদণ্ডগুলি পূরণ না করে
xofer

4
আপনি যদি /etc/logrotate.d/custom.conf এ লোগ্রোটেট কনফিগারেশন ফাইলটি স্থাপন করেন তবে লগটি স্বয়ংক্রিয়ভাবে ঘোরানো হবে তখন আপনার কোনও আকার / সময় নির্দিষ্ট করার দরকার নেই? অথবা আপনি যদি কনফিগারেশনটি অন্য কোনও ফোল্ডারে রেখে দেবেন তবে যদি আপনি এটি স্বয়ংক্রিয়ভাবে ঘোরানোর ইচ্ছা না করেন?
দামাইনমান

18
"Notifmpty" মানদণ্ড "- বল" দ্বারা উপেক্ষা করা হয় না। এটি আমাকে কিছুক্ষণের জন্য থামিয়ে দিয়েছে, তাই আমি @xofer স্টেটমেন্টের ব্যতিক্রম হিসাবে এটি উল্লেখ করেছি।
thelogix

16
আপনি শুধু সঙ্গে সব ঘুরান পারেন logrotate --force /etc/logrotate.d/(ঠিক ডিরেক্টরির নাম)
fcm

1
এটি সত্য যা --forceফাইলগুলি মানদণ্ড (বয়স, আকার, ইত্যাদি) পূরণ না করে এমনকি রোটেশনকে বাধ্য করবে, তবে দয়া করে বিবেচনা করুন যে আসল সমস্যাগুলি দেখা দেয়ার একমাত্র উপায় যা এর সাথে logrotate -dউদ্ভূত হবে না (উদাহরণস্বরূপ, আমার একটি সার্ভার শেষ হয়ে গেছে) লোগ্রোটেটের কারণে স্থান কয়েক মাস ধরে চলতেছে না ... এবং --forceআমি ধন্যবাদ জানলাম যে File existsত্রুটিগুলি ছিল । আমি নিজেই সেই ফাইলগুলি
মুছলাম

558

logrotate -d [your_config_file] আপনাকে কী ঘটবে তার ভারবস্য বিবরণ দিয়ে ডিবাগ মোডের অনুরোধ জানানো হয়েছে, তবে লগ ফাইলগুলিকে অদৃশ্য রেখে দেওয়া।


81
যারা এখানে এসেছিলেন তারা "আমার লোগ্রোটেট কনফিডটি কীভাবে পরীক্ষা করতে পারি?" এর মতো প্রশ্নের উত্তর খুঁজছেন? এটি একটি উত্তর হিসাবে গ্রহণ করতে পারে, কারণ এটি কেবল
কনফারেন্সের পরীক্ষা করে

আপনার পদ্ধতির সাথে খারাপ লাগেনি, আমি চেষ্টা করেছি logrotate --forceএবং ভাল কাজ করছি।
বেনিয়ামিন জাফারি

122

আপনি যদি কোনও একক নির্দিষ্ট ডিরেক্টরি বা ডেমনের লগ ফাইলগুলি জোর করে চালাতে চান তবে আপনি সাধারণত কনফিগারেশনটি সন্ধান করতে পারেন /etc/logrotate.dএবং সেগুলি এককভাবে কাজ করবে।

মনে রাখবেন যে নির্দিষ্ট করা বিশ্বব্যাপী কনফিগারেশন /etc/logrotate.confপ্রযোজ্য হবে না, তাই আপনি যদি এটি করেন তবে আপনার অবশ্যই /etc/logrotate.d/[servicename]কনফিগার ফাইলে সমস্ত পছন্দগুলি নির্দিষ্ট করে নির্দিষ্ট করা উচিত।

-dকী ঘটবে তা দেখতে আপনি এটি ব্যবহার করে দেখতে পারেন:

logrotate -df /etc/logrotate.d/nginx

তারপরে আপনি চালাতে পারেন (উদাহরণ হিসাবে এনগিনেক্স ব্যবহার করে):

logrotate -f /etc/logrotate.d/nginx

এবং একমাত্র nginx লগগুলি ঘোরানো হবে।


1
এটি ভাল এবং ভাল, তবে আপনি "/etc/logrotate.conf" এ থাকা কোনও গ্লোবাল সেটিংস হারাবেন। আমি একটি স্ক্রিপ্ট লিখেছিলাম বিশ্বব্যাপী এবং নির্দিষ্ট লোগ্রোটেট ফাইলগুলিকে একত্রে একত্রিত করার জন্য এটি ব্যবহার করুন যাতে এই সমস্যাটির সমাধান হয়। (আমার উত্তর দেখুন)
এন্থনি

ব্যবহার logrotate -d /etc/logrotate.confঅন্য যে কোনও অন্তর্ভুক্ত কনফারেন্স ফাইলের মাধ্যমে চলবে run
wmassingham

60

আপনি এটি ভার্বোজ + ফোর্স মোডে চালাতে চাইতে পারেন।

logrotate -vf /etc/logrotate.conf


36

সমস্ত লোগ্রোটেট চালানোর উপায় হ'ল:

logrotate -f /etc/logrotate.conf

এটি প্রাথমিক লোগ্রোটেট ফাইল চালাবে, এতে অন্যান্য লোগ্রোটেট কনফিগারেশনও অন্তর্ভুক্ত রয়েছে


21

নিম্নলিখিত কমান্ডটি নির্দিষ্ট করুন, নির্দিষ্ট লোগ্রোটেট চালানোর উপায়:

logrotate -vf /etc/logrotate.d/custom

বিকল্প:

-v: প্রক্রিয়াটি দেখান

-ফ: জোর করে রান করা

কাস্টম: ব্যবহারকারী-সংজ্ঞায়িত লগ সেটিংস

যেমন: মংডোব-লগ

# mongodb-log rotate

/data/var/log/mongodb/mongod.log {
    daily
    dateext
    rotate 30
    copytruncate
    missingok
}

একটি সম্পূর্ণ উদাহরণ প্রদানের জন্য প্লাস 1। পিএস আমরা কীভাবে নির্ধারণ করতে পারি যে লোগ্রোটেট ফাইলগুলিতে আসলে কী করে ?
ব্যক্তিগত_ক্লাউড

7

আপনি যে লগ ফাইলটি পরীক্ষা করতে চান তাতে 'সর্বশেষ ঘোরানো' তারিখটি পুনরায় সেট করতে /var/lib/logrotate.status সম্পাদনা করুন।

তারপরে দৌড়াও logrotate YOUR_CONFIG_FILE

অথবা আপনি - ফোর্স পতাকা ব্যবহার করতে পারেন তবে লোগ্রোটেট.স্ট্যাটাস সম্পাদনা আপনাকে কী করবে এবং কীভাবে আবর্তিত হবে না তার থেকে আরও স্পষ্টতা দেয়।


এই /var/lib/logrotate.statusফাইলটি দেবিয়ান স্কুজে বিদ্যমান নেই।
ল্যাশে

/ Var / lib / লোগ্রোটেট / স্থিতি ব্যবহার করে দেখুন। আমি নিশ্চিত নই যে এটি কোনও ডেবিয়ান / রেডহাট জিনিস, বা আমি রাখি কিনা "।" যেখানে আমার "/" রাখা উচিত ছিল।
বেন অ্যাভেলিং

2

সমস্যা সমাধানের জন্য একটি শেল স্ক্রিপ্ট তৈরি করেছে।

http://www.ict.griffith.edu.au/anthony/software/#logrotate_one

এই স্ক্রিপ্টটি "/etc/logrotate.d" এ পাওয়া একক লোগ্রোটেট উপ-কনফিগারেশন ফাইলটি চালাবে তবে বৈশ্বিক কনফিগারেশন ফাইল "/etc/logrotate.conf" থেকে বৈশ্বিক সেটিংস অন্তর্ভুক্ত করবে। আপনি এটি পরীক্ষা করার জন্য অন্যান্য ওটিপিয়ন ব্যবহার করতে পারেন ...

উদাহরণ স্বরূপ...

  logrotate_one -d syslog
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.