การแสดงออก Cron: ความแตกต่างระหว่าง 0/1, 1/1 และ *


15

ในการแสดงออก cron สิ่งที่เป็นความแตกต่างระหว่าง0/1, 1/1และ*?


The /is stepping, อธิบายได้ดีจริงๆที่นี่: publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/…
NickW

1
ทำไมถึงลงคะแนนโปรด? ข้อมูลที่ขาดหายไป? คำถามนี้เป็นของไซต์แลกเปลี่ยนไซต์อื่นหรือไม่
sdabet

เลื่อนเมาส์ไปที่ลูกศรชี้ลง ป๊อปอัพบอกว่า " คำถามนี้ไม่ได้แสดงความพยายามในการวิจัยใด ๆ มันไม่ชัดเจนหรือไม่มีประโยชน์ " Downvotes ที่ไม่มีความคิดเห็นอาจถูกสันนิษฐานว่าเป็นเพราะอย่างน้อยหนึ่งในเหตุผลเหล่านั้น - แม้ว่าฉันจะทราบว่า downvoter ได้ถอนกลับมาแล้ว
MadHatter

ขอบคุณ @MadHatter ฉันยังมีชื่อเสียงไม่มากพอที่จะดูรายละเอียดการโหวต
sdabet

คำตอบ:


20

ขึ้นอยู่กับว่าข้อกำหนดอยู่ที่ไหน

  • 0/1 หมายถึงเริ่มต้นที่ 0 ทุก 1
  • 1/1 หมายถึงการเริ่มต้นที่ 1 ทุก ๆ 1
  • * หมายถึงค่าที่เป็นไปได้ทั้งหมด

ดังนั้น

  • สำหรับคอลัมน์นาทีชั่วโมงและวันในสัปดาห์0/1และ*มีค่าเทียบเท่าเนื่องจากเป็น 0

  • สำหรับคอลัมน์วันของเดือนและเดือน1/1และ*มีความเท่าเทียมกันเนื่องจากเป็น 1


มันสมเหตุสมผล0/1ไหมที่จะใช้เป็นเวลาหลายเดือน? อะไรจะเกิดขึ้น?
sdabet

4

ในคำจำกัดความของ crontab ความหมายของฟิลด์วันที่ / เวลาห้า:

  1. ที่นาทีของชั่วโมง (ตั้งแต่ 0 ถึง 59)
  2. เวลาใดของวัน (ตั้งแต่ 0 ถึง 23)
  3. วันไหนของเดือน (ตั้งแต่ 1 ถึง 31)
  4. เดือนใดของปี (ตั้งแต่ 1 ถึง 12 หรือชื่อ - ม.ค. , ก.พ. , ... )
  5. ในวันใดของสัปดาห์ (เช่นจาก 0 ถึง 6 หรือชื่อ - Sun, Mon, ... )

A * หมายถึงตั้งแต่องค์ประกอบแรกจนถึงองค์ประกอบสุดท้ายของช่วง n / x หมายถึงการเริ่มต้นที่ n ทุกค่า x

ในกรณีของคุณสามารถแปลได้โดย:

  1. ในนาทีที่ 0
  2. เริ่มต้นตอนเที่ยงคืนทุก ๆ ชั่วโมง (ซึ่งคล้ายกับ *)
  3. ในแต่ละวันของเดือน
  4. เริ่มต้นเดือนแรก (มกราคม) ทุกเดือน (ซึ่งคล้ายกับ *)
  5. แต่ละวันของสัปดาห์ (สำหรับ * แรก)

จุดสิ้นสุดดูไม่ถูกต้อง (? *) เนื่องจากอยู่ในตำแหน่งของคำสั่ง หรือในสถานที่ของชื่อผู้ใช้และคำสั่งถ้านำมาจากไฟล์ภายใต้/etc/cron.d/และไม่ได้มาจาก crontab ของผู้ใช้ที่เฉพาะเจาะจง


0

0/1 หมายถึงทุก ๆ 1 นาทีหรือทุก ๆ นาทีและ 1/1 หมายถึงทุกเดือนที่ฉันคิด แต่ฉันไม่แน่ใจว่ามันจะทำงานในเดือนนั้น


แล้วสิ่งที่เป็นความแตกต่างระหว่าง0/1, 1/1และ*?
sdabet

0/1 อยู่ในตำแหน่งชั่วโมง
user9517

นั่นคือชั่วโมง
vic

แน่นอนว่า แต่ฉันสามารถแทนที่ส่วนหนึ่งชั่วโมง0/1โดย1/1ตัวอย่าง? มันจะเหมือนกันหรือไม่
sdabet

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