ฉันจะตั้งค่างาน cron บน OS X เพื่อรันคำสั่ง curl ในเวลาที่กำหนดทุกวันได้อย่างไร


20

ฉันมีคำสั่ง CURL ฉันต้องการเรียกใช้ทุกวันเวลาตี 3 แต่ฉันไม่แน่ใจเกี่ยวกับวิธีการตั้งค่าและคำแนะนำทั้งหมดแปลก

สมมติว่าฉันมีประสบการณ์ terminal / bash มากมาย แต่ฉันไม่เคยติดตั้ง cron มาก่อน

เป็นไปได้ไหมที่งาน cron จะปลุกคอมพิวเตอร์ของฉันแม้ว่าจะหลับและฝาปิดอยู่ (macbook pro) เพียงเพื่อเรียกใช้คำสั่ง curl คำสั่งเดียวจากนั้นจึงกลับเข้าสู่โหมดสลีป

ฉันจะตั้งค่าอย่างใดอย่างหนึ่งได้อย่างไร

คำตอบ:


22

เริ่มต้นด้วยการรันคำสั่ง:

crontab -e

สิ่งนี้จะเปิด crontab สำหรับผู้ใช้ของคุณในโปรแกรมแก้ไขข้อความ Cron ใช้สัญลักษณ์เฉพาะสำหรับงานที่กำหนดเวลาไว้ รูปแบบด้านล่างแสดงฟิลด์สำหรับรายการผู้ใช้ crontab (ซึ่งต้องคั่นด้วยแท็บ)

min  hour  day_of_month  month  day_of_week  command

หากต้องการกำหนดเวลาคำสั่ง curl ให้ทำงานเวลาตี 3 ทุกวันคุณสามารถแทรกบรรทัด:

0  3  *  *  *  curl args...

สังเกตว่านาทีและชั่วโมงสอดคล้องกับ 03:00 (ด้านหมายเหตุ: cron ใช้รูปแบบเวลา 24 ชั่วโมงไม่มี am หรือ pm) เครื่องหมายดอกจันที่ตามมาหมายถึงทุกวันทุกเดือนทุกเดือนทุกวัน

Cron จะไม่สามารถปลุกคอมพิวเตอร์ของคุณจากโหมดสลีป แต่คุณอาจพบว่าโพสต์นี้มีประโยชน์crontab เพื่อปลุก osx จากโหมดสลีป


1
เมื่อฉันทำcrontab -eฉันเห็นนี้ใน terminal ฉัน: $ crontab -e crontab: no changes made to crontabแล้วมันจะเปิดโปรแกรมแก้ไขข้อความของฉันกับไฟล์จากโฟลเดอร์crontab.some-random-string /tmpเมื่อฉันแก้ไขและบันทึกแล้วจะไม่มีอะไรเกิดขึ้นในเครื่องของฉัน หากฉันcrontab -lทำงานที่ฉันเพิ่งเข้ามาจะไม่ปรากฏขึ้น แล้วถ้าฉันทำอีกครั้งก็จะเปิดว่างเปล่าอีกcrontab -e crontab.some-random-stringฉันยังทดสอบ crontab แรกที่ฉันบันทึกไว้โดยกำหนดเวลาเป็น 2 นาทีจากเมื่อฉันบันทึกมันและ cron ไม่เคยวิ่ง จะเกิดอะไรขึ้น?
marcamillion

ตัวแก้ไขข้อความใดที่เปิดขึ้นเมื่อคุณเรียกใช้ 'crontab -e'
diametralpitch

อันแรกของฉัน, atom. นั่นคือสิ่งที่เปิดขึ้นเมื่อฉันเปิดทุกอย่างเพื่อแก้ไขในเทอร์มินัลของฉัน นี่คือสิ่งที่ฉันมีในของฉัน,~/.bash_profile export EDITOR='open -a "/Applications/Atom.app"'
marcamillion

อืมถ้าคุณเรียกใช้ atom จากบรรทัดคำสั่งด้วยตนเองมันจะรอให้อะตอมออกก่อนที่จะพร้อมท์รับคำสั่งอื่น (ถ้าไม่ใช่คุณอาจต้องการลองใช้โปรแกรมแก้ไขข้อความอื่น)
Adam Luchjenbroers

@AdamLuchjenbroers ฉันไม่แน่ใจว่าฉันเข้าใจคำถามของคุณอย่างเต็มที่ ฉันใช้ atom สำหรับการแก้ไขรหัสของฉันทั้งหมด ดังนั้นถ้าผมต้องการที่จะแก้ไขไฟล์ใด ๆ ผมเพียงแค่ทำภายในไดเรกทอรีหรือatom . atom <filepath>
marcamillion

0

ถ้าคุณชอบที่จะทำมันด้วยวิธี GUI ฉันสามารถแนะนำคุณ CronniX จาก roaringapps https://roaringapps.com/app/cronnix


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