การเพิ่มไฟล์ลงใน /etc/cron.d ไม่ทำให้มันทำงาน (ubuntu 10.04)


20

หากฉันสแกนไฟล์ cron ลงใน /etc/cron.d มันจะไม่ทำงานจนกว่าฉันจะแก้ไขไฟล์และเปลี่ยนคำสั่ง ดูเหมือนว่า crond จะหยิบไฟล์ cron ขึ้นมา

ฉันจะทำให้ cron โหลดไฟล์ cron ใหม่ใน ubuntu 10.04 ได้อย่างไร 'touch'ing ไฟล์ไม่ทำงานหรือ' รีสตาร์ท cron 'หรือ' reload cron '

ไฟล์ cron ของฉันถูกตั้งค่าให้ทำงานทุกนาทีและบันทึกลงในไฟล์ ไม่มีอะไรสิ้นสุดในล็อกไฟล์จนกว่าฉันจะแก้ไขคำสั่งและไม่มีรายการสำหรับไฟล์นั้นใน / var / log / syslog

ฉันนิ่งงัน

นี่คือไฟล์ cron ของฉันบันทึกไว้ใน /etc/cron.d/runscript (โปรดสังเกตว่าลงท้ายด้วยบรรทัดใหม่)

# Runs the script every minute. This is safe because it will exit with success if it's already running
* * * * * www-data if [ -f /usr/local/bin/thing ]; then exec /usr/bin/php /usr/local/bin/thing mode:prod -a 14 -d >> /var/log/thing/mything.log 2>&1; else echo `date +'[\%D \%T]'` "Thing not deployed. Command not run" >> /var/log/thing/mything.log; fi &

3
เป็นการดีที่คุณรวมผู้ใช้เพื่อเรียกใช้งานเป็น ฉันทิ้งสิ่งนั้นไว้ซึ่งเป็นสาเหตุของปัญหาของฉัน
Edward Anderson

1
หลายปีต่อมาไม่มีคำตอบที่ยอมรับ? คุณได้รับมันไปทำงานหรือไม่ ฉันติดอยู่เหมือนกันและข้อผิดพลาดทั่วไปดูเหมือนจะไม่เป็นปัญหา
twigmac

คำตอบ:


27

ฉันเพิ่งพบปัญหานี้และในขณะที่มันจะไม่ตอบคำถามของคุณโดยเฉพาะมันอาจช่วยให้คนอื่น googling ปัญหาเดียวกันได้เนื่องจากคำถามนี้ให้ผลลัพธ์ที่สูงมาก

ฉันได้บันทึกไฟล์ไว้ใน /etc/cron.d และมันถูกเพิกเฉย ในกรณีของฉันมันเป็นเพราะฉันได้ให้นามสกุลไฟล์

mytask.cronไม่ทำงาน แต่ฉันเปลี่ยนชื่อเป็นmytaskและมันใช้งานได้ดี

ไฟล์ใด ๆ ที่มีนามสกุลจะถูกละเว้นดังนั้นตรวจสอบให้แน่ใจว่าไฟล์ที่คุณบันทึกไม่มีส่วนขยายใด ๆ


13
หน้าคู่มือ cron (8) บนเอกสาร Debian / Ubuntu นี้ค่อนข้างชัดเจนวันนี้: "การสนับสนุนสำหรับ / etc / cron.d รวมอยู่ใน cron daemon ตัวเอง [... ] ไฟล์ในไดเรกทอรีนี้ [... ] จะต้องสอดคล้อง เพื่อการตั้งชื่อแบบเดียวกับที่ใช้โดยส่วน - รัน (8): พวกเขาจะต้องประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่และล่างตัวเลขหลักขีดล่างและยัติภังค์ซึ่งหมายความว่าพวกเขาไม่สามารถมีจุดใด ๆ "
Josip Rodin

15

\nตรวจสอบว่าไฟล์ที่คุณกำลังคัดลอกปลายใน รายการใน crontabs ที่ไม่มี\nส่วนท้ายโดยทั่วไปจะพบปัญหา วิธีที่ง่ายที่สุดเพื่อให้แน่ใจว่านี่คือการวางบรรทัดว่างหลังจากรายการสุดท้ายของคุณ


1
ฉันเพิ่งจะแก้ไขคำถามของฉันเพื่อบอกว่ามันลงท้ายด้วย \ n
tom

1
Debian / Ubuntu cron เตือนเกี่ยวกับสิ่งนี้ใน syslog ตั้งแต่ 3.0pl1-110 ที่เผยแพร่ในปี 2010 cf รายการเปลี่ยนแปลง: "เข้าสู่ระบบ crontabs ขึ้นบรรทัดใหม่หายไปก่อนที่จะ EOF syslog นี้เป็นเพียงที่เกี่ยวข้องสำหรับ crontabs ไม่ได้ติดตั้งผ่านทาง crontab (1) คือ /etc/cron.d/* และ / etc / crontab ปิด: # 76625..."
ซิป Rodin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.