# Laravel

# การตั้งเวลารัน 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
```

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

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

```
service cron start
```