ক্রোন সহ টাইমজোন ইস্যু


11

আমার ক্রোন জবগুলি সার্ভার সময়ের তুলনায় এক ঘন্টা পরে গণনা করা হয়। কী হচ্ছে তা বুঝতে পারছি না।

আমার কনফিগারেশনটি নিম্নলিখিত:

সার্ভারের সময় :

Europe/Paris

ইন / ইত্যাদি / ডিফল্ট / ক্রোন আমি নিম্নলিখিত লাইনটি যুক্ত করেছি:

TZ="Europe/Paris"

তা সত্ত্বেও, ক্রোন জব সার্ভার সময়ের চেয়ে এক ঘন্টা পরে চালু হয়। আসলে কী মুশকিল, তা হল যদি আমি ক্রোনকে নির্দেশ "তারিখ" খেলতে বলি তবে এটি সার্ভারের তারিখ দেয় (ভাল!)।

এই সমস্যাটি কীভাবে সমাধান করা যায় সে সম্পর্কে আমার কোনও ধারণা নেই; আমি ফোরামে কিছু পঠন করছি, তবে আকর্ষণীয় কিছুই পাই নি।

আপনি কি মনে করেন ?


4
তাই ইউটিসিতে ক্রোন জব নির্ধারিত হচ্ছে। ভিক্সি ক্রোন ম্যান পৃষ্ঠাটি বলে, "ডেমনটি উপস্থিত থাকলে টাইমজোনটির জন্য / ইত্যাদি / টাইমজোন থেকে সংজ্ঞাটি ব্যবহার করবে।" কি আছে /etc/timezone? প্রক্রিয়া শুরুর /etc/timezoneচেয়ে আপনি কি খুব বেশি সংশোধন করেছেন cron? আপনি চেষ্টা করেছেন /etc/init.d/cron restart?
কিথ থম্পসন

3
/etc/init.d/cron পুনরায় আরম্ভ না করে সম্প্রতি / টাইমজোনটি পরিবর্তন করা হয়েছে। আমি এটি আবার চালু করার চেষ্টা করব
গিলিয়াম লেবুর্জিও

উত্তর:


16

(আমার মন্তব্যটিকে উত্তর হিসাবে অনুলিপি করা, যেহেতু এটি সমাধান হয়ে গেছে; আমি সঠিক অনুমান করেছি sed)

সুতরাং ক্রোন জবগুলি ইউটিসি-তে নির্ধারিত হচ্ছে ( Europe/Parisইউটিসি থেকে এক ঘন্টা অফসেটে রয়েছে)।

ভিক্সির ক্রোন ম্যান পৃষ্ঠাটি বলেছেন:

ডেমনটি উপস্থিত থাকলে, সময় অঞ্চলটির জন্য / ইত্যাদি / টাইমজোন থেকে সংজ্ঞাটি ব্যবহার করবে।

কি আছে /etc/timezone? /etc/timezoneক্রোন প্রক্রিয়া শুরু হওয়ার চেয়ে আপনি কি আরও সম্প্রতি পরিবর্তন করেছেন? আপনি চেষ্টা করেছেন?

/etc/init.d/cron restart

?


3

ফেডোরার মতো কিছু ডিস্ট্রো এমন একটি ব্যবস্থা দেয় যেখানে আপনি CRON_TZ=আপনার ডিফল্ট টাইমজোনকে ওভাররাইড করতে পারেন set

ফেডোরা থেকে man 5 crontab

CRON_TZ ভেরিয়েবল ক্রোন সারণীর জন্য নির্দিষ্ট সময় অঞ্চল নির্দিষ্ট করে। ব্যবহারকারীর সারণিতে নির্দিষ্ট সময় অঞ্চল অনুযায়ী একটি সময় প্রবেশ করানো উচিত। লগ ফাইলে লেখার জন্য ব্যবহৃত সময়টি স্থানীয় সময় অঞ্চল থেকে নেওয়া হয়, যেখানে ডেমন চলছে।

এটার মতো কিছু:

#m  h           d   m   wday    command
CRON_TZ="Europe/Paris"
5   0,6,12,18   *   *   *       /path/to/script.bash

1

উইকিপিডিয়া বলেছেন

বেশিরভাগ ক্রোন বাস্তবায়নগুলি সিস্টেম টাইম জোন সেটিং-এর ক্রোনটব এন্ট্রিগুলির সহজভাবে ব্যাখ্যা করে যার অধীনে ক্রোন ডেমন নিজেই চালিত হয়। যদি কোনও বৃহত্তর মাল্টিউজার মেশিনের বেশ কয়েকটি টাইম জোনের ব্যবহারকারী থাকে, বিশেষত যদি সিস্টেম ডিফল্ট টাইম জোনে সম্ভাব্য বিভ্রান্তিকর ডিএসটি অন্তর্ভুক্ত করে তবে এটি বিরোধের উত্স হতে পারে। সুতরাং, একটি ক্রোন বাস্তবায়ন ব্যবহারকারীর ক্রোনট্যাবগুলিতে যে কোনও "TZ =" পরিবেশের পরিবর্তনশীল সেটিং লাইনগুলিকে বিশেষায়িত করতে পারে, সেই টাইমজোনটির সাথে সম্পর্কিত পরবর্তী ক্রন্টব এন্ট্রিগুলি ব্যাখ্যা করে

সুতরাং সম্ভবত আপনার লগইন আইডিতে একটি টিজেড সেটিংস রয়েছে যা সিস্টেম টিজেড সেটিং থেকে আলাদা?


1

ক্রোন পুনরায় চালু করা আমার যা প্রয়োজন তা ছিল তবে আমার জন্য আদেশটি ছিল

/etc/init.d/crond restart (crond not cron)

0

সবেমাত্র উবুন্টু 14/16 এ এটি সন্ধান করা হয়েছে। আমার জন্য নিখুঁতভাবে কাজ করেছেন।

পদক্ষেপ (sudo অন্তর্ভুক্ত):

  1. cat /etc/timezone
  2. rm -fv /etc/localtime
  3. ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
  4. apt install -y --reinstall tzdata
  5. /etc/init.d/rsyslog restart
  6. tail -f /var/log/syslog
  7. cat /etc/timezone

cronপুনরায় আরম্ভ হয় কোথায় ?
ডেভিডপস্টিল

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