รันงาน cron ทุก 5 นาทีระหว่างสองครั้ง


18

มีวิธีระบุงานที่รันทุก 5 นาทีระหว่างเวลาเริ่มต้นและเวลาสิ้นสุดในวันทำการใน crontab หรือไม่?

อัปเดต ฉันคิดว่าเป็นเรื่องที่เกี่ยวข้องที่เวลาเริ่มต้นและสิ้นสุดของฉันไม่ถึงเวลาทำการ ดังนั้นการระบุ 9-5 ในคอลัมน์ชั่วโมงจึงไม่เพียงพอ ฉันต้องการ 9: 30-17: 30

คำตอบ:



1

หากคำตอบของ Ignacio Vazquez-Abramsไม่ได้ผลสำหรับคุณตัวอย่างเช่นเนื่องจากสคริปต์ต้องการพารามิเตอร์จำนวนมากหรือเกณฑ์การเรียกใช้นั้นไม่ยุ่งยาก (หรือไม่ จำกัด เวลา) วิธีอื่นคือการทำให้ง่ายขึ้น สคริปต์ตัวตัดคำเรียกสคริปต์ตัวตัดคำในช่วงเวลาปกติและให้สคริปต์ตัวตรวจสอบเวลาปัจจุบันและเรียกใช้สคริปต์หลัก

ตัวอย่างเช่น:

#/bin/bash

# Check to see if we should run the script now.
HOUR=$(date +%H)
MINUTE=$(date +%M)
if test $HOUR -lt 9; then exit 0; fi
if test $HOUR -eq 9 -a $MINUTE -lt 30; then exit 0; fi
if test $HOUR -eq 17 -a $MINUTE -gt 30; then exit 0; fi
if test $HOUR -gt 17; then exit 0; fi

# All checks passed; we should run the script now.
exec script.sh ... long list of parameters ...

สิ่งนี้ช่วยให้การเข้ารหัสเกณฑ์การประมวลผลมีความซับซ้อนมากขึ้นกว่าไวยากรณ์ของ cron ที่อนุญาตให้ทำได้โดยมีค่าใช้จ่ายเล็กน้อยในการเรียกใช้เชลล์และสคริปต์แยกต่างหากเป็นประจำ

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