# งานที่กำหนดเวลา

งานที่กำหนดเวลา (Scheduled Tasks) ใช้สำหรับรันสคริปต์หรืองานอื่นๆ ตามช่วงเวลาที่กำหนด วิธีการใช้งานงานที่กำหนดเวลานี้เป็นไปตามมาตรฐานของ Linux Crontab ยกเว้นคำสั่งที่เกี่ยวข้องอาจแตกต่างกัน แต่ไวยากรณ์อื่นๆ จะเหมือนกันทั้งหมด กฎทั้งหมดจะถูกรันด้วยสิทธิ์ของ root คุณจำเป็นต้องมีความสามารถในการเขียนกฎ crontab พื้นฐาน หากไม่คุ้นเคยโปรดศึกษาด้วยตนเองก่อน

```{attention}
เนื่องจากข้อจำกัดของกลไกการพักหน้าจอของ Android หลังจากปิดหน้าจอ งานที่กำหนดเวลาอาจไม่ทำงานในเวลาที่คุณคาดหวัง คุณอาจต้องตั้งค่าให้อุปกรณ์เปิดหน้าจอตลอดเวลาเพื่อให้งานที่กำหนดเวลาทำงานตามเวลาที่คุณต้องการ
```

คุณต้องใช้ฟังก์ชันนี้ภายในเทอร์มินัลเดสก์ท็อประยะไกล, เทอร์มินัล ADB ในตัว หรือเทอร์มินัล SSH ที่มาพร้อมกับ FIRERPA หลังจากเข้าสู่เทอร์มินัลแล้ว ให้รันคำสั่ง `crontab -e` คุณจะเข้าสู่โหมดแก้ไข กดปุ่ม `i` ในโหมดป้อนข้อมูลภาษาอังกฤษ จากนั้นเขียนกฎที่เกี่ยวข้อง แล้วกด `ESC` ตามด้วย `SHIFT` + `:` พิมพ์ `wq` แล้วกด Enter เพื่อบันทึก ตัวอย่างกฎบางส่วนมีดังนี้

```
@reboot      echo ทำงานเมื่อเฟรมเวิร์กเริ่มทำงาน
0 */1 * * *  echo ทำงานทุกชั่วโมง
* * * * *    echo ทำงานทุกนาที
0 8 * * *    echo ทำงานทุกวันเวลาแปดโมงเช้า
```

หากคุณต้องการบันทึกเอาต์พุตของงานที่กำหนดเวลา คุณเพียงแค่ทำการเปลี่ยนเส้นทางอินพุตและเอาต์พุต (I/O redirection) ตามปกติ

```
* * * * *    echo hello >/data/usr/script.log 2>&1
```

หลังจากเขียนกฎของงานที่กำหนดเวลาเสร็จแล้ว ขอแนะนำให้ใช้เว็บไซต์สำหรับตรวจสอบ Crontab เพื่อยืนยันว่ากฎของคุณถูกต้องหรือไม่