จะทำให้ run cron บน OSX 10.6.2 ได้อย่างไร


10

หมายเหตุ: คำถามนี้ไม่ได้เกี่ยวกับวิธีแก้ไขแท็บ cron แต่จะทำให้ cron ทำงานได้อย่างไร


  1. ฉันแก้ไข cron ของฉันโดยใช้ env EDITOR=joe crontab -e
  2. ผมเข้า1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txtและมันไม่ทำอะไรเลยแม้ว่า cron มีการตั้งค่าได้อย่างถูกต้อง ตรวจสอบผ่าน Cronnix และดู cron ใน / var / cron / แท็บ การแก้ไข crontab โดยใช้ Cronnix ให้ผลลัพธ์เหมือนกัน

หากฉันรันecho 'test' > /Users/radek/Backup/rationalvmware/test.txtด้วยตนเองมันจะสร้างไฟล์ตามที่คาดไว้ดังนั้นฉันคิดว่าคำสั่งที่ฉันให้กับ cron นั้นถูกต้อง

มีอะไรพิเศษที่ฉันต้องทำเพื่อให้ cron ทำงานบน OSX ได้หรือไม่? ฉันจะตรวจสอบว่า cron กำลังทำงานอยู่ได้อย่างไร

อะไรคือสิ่งที่เทียบเท่า / var / log / ข้อความบน OSX? ฉันเห็นข้อความใน SuSE ที่ cron ใช้งานได้


1
ในฐานะที่เป็นกัน: โปรดทราบว่าcronทำงานในสภาพแวดล้อมที่แตกต่างจากคำสั่งทดสอบของคุณเอง ตัวอย่างเช่นคุณอาจต้องการเส้นทางที่แน่นอน
Arjan

คำตอบ:


8

ฉันสงสัยว่าคุณรอจนกระทั่ง 1 นาทีผ่านไปหนึ่งชั่วโมงสำหรับการทดสอบของคุณ หากต้องการเรียกใช้ทุกนาที:

0-59 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

จาก Mavericks หรือใหม่กว่าจะมีทางเลือกอื่นส่งการแจ้งเตือนให้ตัวเอง0-59 * * * * osascript -e "display notification \"$(date)\" with title \"Cron test\""
wardw

10

ยูทิลิตี้ cron ที่มีการเปิดตัวโดย launchd เมื่อเห็นการดำรงอยู่ของหรือไฟล์ใน/etc/crontab ควรจะมีไม่จำเป็นต้องเริ่มต้นด้วยตนเอง (ดูหน้าคน )/usr/lib/cron/tabs

หากต้องการดูบันทึกของ OS X คุณสามารถใช้ Console Utility


บนภูเขาทาคาโอะ Lion สถานที่นั้นเชื่อมโยงหลายครั้งและนำไปสู่: /private/var/at/tabs/, FYI
Andrew Burns

9

อีกสองวิธีคือการใช้:

*/1 * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

หรือ

* * * * * echo 'test' > /Users/radek/Backup/rationalvmware/test.txt

ทั้งสองทำงานทุกนาที


3

ก่อนอื่นคุณต้องตั้งค่า$EDITORตัวแปรให้เหมาะสมเนื่องจากสิ่งที่คุณตั้งไว้เป็นสิ่งที่คุณไม่ต้องการ ตั้งเป็นดังนี้

EDITOR=joe

คุณสามารถเปลี่ยนjoeการแก้ไขข้อความอื่นเช่นหรือnanovim

จากนั้นคุณจะต้องแก้ไขของคุณcrontabซึ่งทำได้ดังนี้:

crontab -e

จากนั้นคุณจะใส่ข้อความcronเพื่อใช้งาน


ฉันอัพเดตคำถามของฉัน ฉันสามารถแก้ไข cron วิธีที่ผมทำมัน แต่ cron ไม่ทำงาน ....
Radek

ไม่มีเหตุผลที่joeไม่สามารถใช้งานได้ กุญแจสำคัญคือที่crontab -eใช้
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

joe is the best
nkadwa

3

หากคุณต้องการที่จะใช้ cron บน Mountain Lion ที่คุณควรจะดูที่นี่: https://coderwall.com/p/ry9jwgsudo touch /etc/crontabหรือเพียงแค่เปิดสถานีและเรียกใช้ หลังจากนั้นงานของคุณใน / usr / lib / cron / แท็บควรได้รับการจัดการโดย cron

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