กำหนดการ Crontab ในเขตเวลาที่แตกต่างกัน


18

ฉันต้องการกำหนดเวลางานของฉันใน EST แต่ฉันต้องการให้งานจริงทำงานภายใต้เขตเวลาเริ่มต้นของระบบ

วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?

คำตอบ:


25

เพียงแค่ตั้งค่าตัวแปรไฟล์ crontab ของคุณ TZ = บางส่วน / ตำแหน่งคุณสามารถตั้งค่า TZ หลาย ๆ ครั้งเพื่อให้มีงานที่แยกกันในแต่ละเขต ตัวอย่างเช่น:

TZ=UTC
* 7 * * * root date | mail root
TZ=CEST
* 7 * * * root date | mail root
TZ=PCT
* 7 * * * root date | mail root

เวลา 7:00 UTC (หรือเขตเวลาที่คุณเรียกใช้ cron daemon) สามงานจะถูกเรียกใช้ แต่แต่ละคนมีตัวแปร TZ ของตัวเอง


+1 ไม่ทราบ - มีประโยชน์มาก
Coops

+1 เคล็ดลับที่ดีมาก!
Janne Pikkarainen

ฉันต้องการให้พวกเขาทั้งหมดทำงานในเขตเวลาเดียวกัน แต่ในเวลาที่ต่างกัน!
DD

Agh, cron ภูตว่าตัวเองตระหนักถึงตัวแปร TZ มีอยู่แล้ว: blogs.oracle.com/chrisg/entry/...
datacompboy

2
ฉันไม่เห็นอะไรเลยในคำถามที่ระบุว่าสภาพแวดล้อมเป็น OpenSolaris ... Vixie cron บอกว่ามันไม่ทำงาน
womble

14

ในรุ่น CENTOS ของ cron เพียงเพิ่มบรรทัด: CRON_TZ = America / New_York

สิ่งนี้จะเรียกใช้กำหนดการตามเวลานิวยอร์ก แต่งานจะทำงานในเขตเวลาเริ่มต้น


ขอบคุณสำหรับเคล็ดลับเกี่ยวกับเขตเวลาเริ่มต้น มันต้องการให้คุณเพิ่มตัวแปร TZ ในแต่ละบรรทัดของ crontab ถ้าคุณต้องการให้งาน cron ทำงานในเขตเวลาตะวันออกเช่น:export TZ=America/New_York; unix_command; next_cmd_in_sequence
Mike S

1
เพียงแค่พูดถึงว่าคุณสามารถมีการตั้งค่า CRON_TZ หลายรายการใน crontab เดียว - มีประโยชน์มาก :)
Lester Cheung

0

คุณสามารถเรียกใช้อินสแตนซ์แยกของ cron ด้วยTZตัวแปรสภาพแวดล้อมที่แตกต่างกันหรือเพียงแค่เรียนรู้ที่จะเพิ่มหรือลบสองสามชั่วโมง


2
ใช่ ... มันไม่ง่ายอย่างนั้นกับการเปลี่ยนแปลงการปรับเวลาตามฤดูกาลซึ่งเกิดขึ้นในแต่ละช่วงเวลาในเขตเวลาที่แตกต่างกัน ฉันคิดว่าตัวแปรสภาพแวดล้อม TZ จะหมายถึงกระบวนการทำงานใน TZ ที่แตกต่างกันหรือไม่
DD

ใช่และกระบวนการที่มี TZ แตกต่างกันจะเป็นแบบไม่ยืดเยื้อ
womble

ฉันจะรับบริการ crond ให้ทำงานใน TZ อื่นได้อย่างไร ขอโทษฉันเป็นมือใหม่
DD
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.