ใน crontab ไม่ได้รันสคริปต์?

สารบัญ:

ใน crontab ไม่ได้รันสคริปต์?
ใน crontab ไม่ได้รันสคริปต์?
Anonim

สาเหตุหลัก หนึ่งในสาเหตุที่พบบ่อยที่สุดสำหรับงาน crontab ที่ดำเนินการไม่ถูกต้องคือ cronjob ไม่ทำงานภายใต้สภาพแวดล้อมเชลล์ของผู้ใช้ อีกสาเหตุหนึ่งคือ – ไม่ระบุพาธสัมบูรณ์ของคำสั่งที่ใช้ในสคริปต์

ทำไมสคริปต์ crontab ไม่ทำงาน

เหตุผลก็คือ cron ไม่มีตัวแปรสภาพแวดล้อม PATH เดียวกันกับผู้ใช้ หากคำสั่ง crontab ของคุณมีสัญลักษณ์ % อยู่ในนั้น cron จะพยายามแปลความหมาย ดังนั้น หากคุณใช้คำสั่งใดๆ ที่มี % อยู่ในนั้น (เช่น ข้อกำหนดรูปแบบสำหรับคำสั่ง date) คุณจะต้องหลีกเลี่ยงคำสั่งนั้น

ฉันจะรันสคริปต์ crontab ได้อย่างไร

เรียกใช้สคริปต์อัตโนมัติโดยใช้ crontab

  1. ขั้นตอนที่ 1: ไปที่ไฟล์ crontab ของคุณ ไปที่ Terminal / อินเทอร์เฟซบรรทัดคำสั่งของคุณ …
  2. ขั้นตอนที่ 2: เขียนคำสั่ง cron ของคุณ …
  3. ขั้นตอนที่ 3: ตรวจสอบว่าคำสั่ง cron ทำงาน …
  4. ขั้นตอนที่ 4: การดีบักปัญหาที่อาจเกิดขึ้น

ฉันจะรันสคริปต์ Python จาก crontab ได้อย่างไร

พูดง่ายๆ นี่คือสิ่งที่คุณทำ:

  1. สร้างสคริปต์ Python ของคุณ
  2. เปิดเทอร์มินัล
  3. เขียน crontab -e เพื่อสร้าง crontab;
  4. กด i เพื่อเปิดโหมดแก้ไข
  5. เขียนคำสั่งกำหนดการ/usr/bin/python /path/to/file/.py;
  6. กด esc เพื่อออกจากโหมดแก้ไข
  7. เขียน:wq เพื่อเขียน crontab ของคุณ
  8. หากต้องการลบงานที่กำลังทำงานอยู่:

ฉันจะรู้ได้อย่างไรว่า crontab ถูกดำเนินการ

ถึงตรวจสอบว่างานนี้ดำเนินการสำเร็จหรือไม่ ตรวจสอบ the /var/log/cron file ซึ่งมีข้อมูลเกี่ยวกับงาน cron ทั้งหมดที่ได้รับการดำเนินการในระบบของคุณ ดังที่คุณเห็นจากผลลัพธ์ต่อไปนี้ งาน cron ของ john ได้ดำเนินการสำเร็จแล้ว