আমার সেন্টস লোগ্রোটেট এলোমেলো সময়ে কেন চালায়?


10

আমি একটি logrotateকনফিগারেশন ফাইল রেখেছি /etc/logrotate.d/এবং লগগুলি ধারাবাহিক সময়ে ঘোরার প্রত্যাশা করেছিলাম ; যাইহোক, তারা না ... লগ ঘোরানোর সময়গুলি আপাতদৃষ্টিতে এলোমেলোভাবে হয় +/- এক ঘন্টা।

লগ রোটেশন শুরুর সময়গুলি এলোমেলো কেন, এবং আমি কীভাবে এটি পরিবর্তন করতে পারি?


তথ্যবহুল: আমার লোগ্রোটেট কনফিগারেশন ফাইলটি দেখতে এমন দেখাচ্ছে ...

/opt/backups/network/*.conf {
        copytruncate
        rotate 30
        daily
        create 644 root root
        dateext
        maxage 30
        missingok
        notifempty
        compress
        delaycompress
        postrotate
            ## Create symbolic links in daily/
            PATH=`/usr/bin/dirname $1`;
            FILE=`/bin/basename $1`;
            /bin/ln -s $1 $PATH/daily/$FILE
        endscript
}

উত্তর:


10

কীটি জেনে গেছে যে সেন্টোস /etc/cron এ স্ক্রিপ্টগুলি চালাচ্ছে {থেকে সহজেই, উইকলি, অমিতি anacron... থেকে /etc/anacrontabসেট করা RANDOM_DELAYহচ্ছে যা আপনার প্রত্যাশা মতো করে ( RANDOM_DELAYকাজটি শুরুর আগে কয়েক মিনিট অবধি বিলম্ব করে ) ...

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

সমস্যা নির্ধারণ RANDOM_DELAY=0/ START_HOURS_RANGE=3স্থির করা ...

সম্পাদনা

আরও চিন্তাভাবনা করার পরে, আমি anacronসাধারণ ভিক্সি অপসারণ এবং ইনস্টল করতে যাচ্ছি cron...


মনে রাখবেন যে অ্যানক্রোন চলার কথা যখন আপনার সার্ভারটি যদি কোনও কারণে বন্ধ থাকে তবে সিস্টেমটি চালু হওয়ার পরে কিছুক্ষণ এটি চলবে। সুতরাং আপনি এখনও বিভিন্ন সময় হিসাবে লগ ঘূর্ণন পেতে পারেন। সম্ভবত একটি বিশাল সমস্যা নয়, তবে লক্ষণীয়।
অ্যাঞ্জারক্লাউন

START_HOURS_RANGE কে একক মান (= 3) এ সেট করা কার্যকর হবে না, কারণ এই ভেরিটি একক সংখ্যা নয়, পরিসীমা প্রত্যাশা করে। সুতরাং উপরের উদাহরণে এটি 3-4 হওয়া উচিত।
স্লাভিক

6

উত্তরটি নয়, তবে আমি সম্প্রতি অন্য কারণে এটি বের করার চেষ্টা করছিলাম এবং রেডহাট 6, সেন্টোস ইত্যাদি ক্রোন কীভাবে চালায় সে সম্পর্কে কোনও ডকুমেন্টেশন খুঁজে পাইনি। আমি ইঞ্জিনিয়ারড বিপরীত যা এখানে:

  1. crond এখনও সিস্টেম স্টার্টআপে চলে - এটি সমস্ত ফাইল লোড করে /etc/cron.d
  2. /etc/cron.d/0hourly সমস্ত ফাইল চালায় /etc/cron.hourly
  3. /etc/cron.hourly/0anacron রান anacron
  4. অ্যানক্রোন লোড /etc/anacrontab
  5. /etc/anacrontabরান (মাধ্যমে run-parts) /etc/cron.daily, /etc/cron.weeklyএবং/etc/cron.monthly

সুতরাং, এটি আগের সংস্করণগুলির চেয়ে জটিল।

প্রতি ঘন্টা, সাপ্তাহিক এবং মাসিক এন্ট্রিগুলিতে /etc/crontab(যা এখন খালি) যুক্ত করে পুরানো আচরণটি পুনরুদ্ধার করা সম্ভব তবে anacrontabএটি আপডেটও করা দরকার। এটি ভবিষ্যতের আপডেটগুলি ভেঙে যেতে পারে বা নাও পারে ...


4

অন্যান্য উত্তরগুলি কীভাবে তবে অগত্যা তা অন্তর্ভুক্ত করেকারণ আপনার পরিকাঠামো প্রাণনাশ থেকে যুগপত রাত্রিকালীন জন্য cron কাজ রাখতে পারবেন। (ভাগ করা স্টোরেজ, বা এক ভিএম হোস্টে 1000 টি সার্ভার চলমান, বা কিছু রাতের কাজ যা কিছু নেটওয়ার্কযুক্ত পরিষেবাতে আঘাত করে তা কল্পনা করুন))

আমি সর্বদা আমার সিস্টেমে লগ রোটেশনের জন্য এই সমস্যাটি নির্দিষ্ট cron.dailyকোড সহ একটি নির্দিষ্ট কোড সহ একটি নির্দিষ্ট এন্ট্রি থেকে সরিয়ে নির্দিষ্ট লগ রোটেশনের কাজটি সমাধান করি cron.d। এইভাবে, আপনি এখনও আপডেটবিডের মতো পরিষেবার জন্য স্তম্ভিত রান পেতে পারেন যেখানে সময়টি সত্যই প্রয়োজনীয় নয়, তবে লগ ঘোরানোর জন্য ধারাবাহিক সময়।

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

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