ในบางครั้งเราต้องการรัน cron ภายใต้ผู้ใช้งานที่เราระบุ ยกตัวอย่าง เช่น การรัน schedule ของ Laravel การไม่ระบุผู้ใช้งาน อาจจะทำให้เกิดปัญหาขึ้นได้ (อ่านเพิ่มได้ที่
[Laravel - Scheduler] ระวัง!!! การไม่กำหนด username ใน Cron Entry สามารถทำให้เกิด "Permission Denied" ได้)
การระบุผู้ใช้งานที่รัน cron สามารถระบุได้ 2 แบบดังนี้
- การตั้งค่า cron ในไฟล์ /etc/crontab หรือไฟล์ใน /etc/cron.d/ สามารถเพิ่ม cron entry ที่มี username ได้เลย ดังนี้
* * * * * username /path/to/your/script.sh
- การตั้งค่า cron ภายใต้ user ที่ต้องการ สามารถรันคำสั่งดังนี้
sudo crontab -u username -e
หลังจากนั้น เพิ่ม cron entry ดังนี้
* * * * * /path/to/your/script.sh
หมายเหตุ ไม่สามารถใช้ crontab entry แบบที่ 1 เพิ่มลงในการตั้งค่า cron แบบที่ 2 เนื่องจาก
/path/to/your/script.sh จะไม่ถูกรัน
No comments:
Post a Comment