Skip to main content

การตั้งเวลารัน Schedule script โดยใช้ Crontab

เข้าไปใน container โดยใช้ user root

sudo docker exec -it --user=root container_name /bin/bash

ติดตั้ง contrab ไว้ใน container โดยใช้คำสั่งดังนี้

apt-get update && apt-get -y install cron

สร้างไฟล์สำหรับตั้ง contrab โดยใช้คำสั่ง

crontab -l | { cat; echo "* * * * * /usr/local/bin/php artisan schedule:run"; } | crontab -

กรณีที่ต้องการแก้ไข contrab ให้ใช้คำสั่ง

contrab -e

เพิ่มคำสั่งรันสคริปลงไปดังตัวอย่าง

* * * * * /usr/local/bin/php artisan schedule:run

หรือกรณีที่ต้องการให้รันไฟล์ bash ก็สามารถกำหนดได้ดังนี้

* * * * * sh /var/www/script >> /var/log/cron.log 2>&1

คำสั่ง >> /var/log/cron.log จากตัวอย่างเป็นการสั่งให้เก็บ log ไปไว้ในไฟล์ชื่อ /var/log/cron.log

เปิดการใช้งาน service contrab โดยใช้คำสั่ง

service cron start