ক্রোনজবের সময় অঞ্চল পরিবর্তন করুন


10

আমার একটি ক্রোনজব রয়েছে যা প্রতিদিন ইউটিসি-সময় সকাল 9: 00 এ কার্যকর করা হয় exec আমি GMT + 1 এ আছি তাই এটি স্থানীয় সময় সকাল 10:00 এ কার্যকর হয়। যখন টাইমজোন পরিবর্তন হয় (দিবালোক সংরক্ষণের সময়, ডিএসটি) তে, ক্রোনজব ইউটিসি-সময় সকাল 9 টা বাজে কিন্তু স্থানীয় সময় সকাল 11:00 টায় কার্যকর করে। তবে আমি চাই যে এটি গ্রীষ্মের সময় বা না হোক, সর্বদা 10:00 এ কার্যকর করা উচিত। আমি কেমন করে ঐটি করি?


4
এই প্রশ্নের Stackoverflow এ বিপরীত পোস্ট হয়: stackoverflow.com/questions/29592533/...
John1024

আপনার টাইমজোনটি / ইত্যাদি / টাইমজোনে সেট করা কী?
টুইঙ্কলস

উত্তর:


2

/ ইত্যাদি / টাইমজোন আপনার সেটিং পরীক্ষা করুন। আপনি যে প্রশ্নটিতে উল্লেখ করেছেন আপনি "GMT + 1" তে রয়েছেন, যদি আপনার টাইমজোনটি সেট করা থাকে তবে আপনার স্ক্রিপ্টটি সর্বদা ইউটিসি প্লাসে এক ঘন্টা চালিত হবে। যদি আপনি এটি "উদাহরণস্বরূপ" ইউরোপ / প্যারিস "এ সেট করেন তবে মৃত্যুর সময় দিবালোকের সঞ্চয়ের সময়টির সাথে পরিবর্তিত হবে।


6

এটি সম্ভবত আপনার ওএসের উপর নির্ভর করবে এবং এটি কার্যকর হবে cron। এটি সর্বাধিক জনপ্রিয় ক্রোন বাস্তবায়নে সম্ভব নয় vixie/isc cron। থেকে crontab(5) manpage:

LIMITATIONS
       The  cron  daemon  runs with a defined timezone. It currently does not 
       support per-user timezones. All the tasks: system's and user's will 
       be run based on the configured timezone. Even if a user specifies  
       the TZ  environment  variable  in  his crontab this will affect only 
       the commands executed in the crontab, not the execution of the crontab 
       tasks themselves.

2

@ সাইরাস উত্তরটি প্রসারিত করা আমি এটাই করেছি:

আমি একটি স্ক্রিপ্ট তৈরি করেছি যা একটি ইউটিসি অফসেটটি যাচাই করেছে:

#!/bin/bash
export TZ=":US/Eastern"
if [ "$(date +%z)" == "$1" ]; then
  shift
  exec $@
fi

তারপরে আমি যে অফসেটটি চাই তার জন্য দুটি ক্রন্টব এন্ট্রি যুক্ত করব:

0 8 * * * run-only-with-tz.sh -0400 place_your_command_here
0 9 * * * run-only-with-tz.sh -0500 place_your_command_here

1

ম্যানুয়াল পৃষ্ঠা থেকে:

ডেমনটি উপস্থিত থাকলে /etc/timezoneটাইমজোন থেকে সংজ্ঞাটি ব্যবহার করবে।

পরিবেশটি ব্যবহারকারীর ক্রন্টব সংজ্ঞাতে পুনরায় সংজ্ঞায়িত করা যেতে পারে তবে ক্রোন কেবলমাত্র একক সময় জোনে কাজগুলি পরিচালনা করবে।


1

আপনার ক্রোনজব্বকে 8:00 এ সরান এবং আপনি GMT + 1 এ থাকলে এক ঘন্টা ঘুমান

0 8 * * * [ "$(date +\%z)" = "+0100" ] && sleep 3600; place_your_command_here

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