แต่ละ OS จะมีระบบตั้งเวลาในการทำงานอัตโนมัติ ใน Windows มี Task Scheduler, ใน linux มี Cron ส่วนใน macOS จะมี Cron และ launchd โดยการใช้ Cron job ทำให้การ dev บน mac แล้วใช้ linux server ในการทำงานจริง ๆ ได้ Cron ใน macOS เหมือน Linux ทั่วไป สามารถใช้คำสั่งเดิม ๆ ได้เลย
- วิธีใช้งาน: พิมพ์
crontab -e
ใน Terminal เพื่อแก้ไขตารางงาน
โดยสามารถทำตาม Linux: Cron Job ล้างขยะ clear cache อัตโนมัติ - ข้อจำกัด: บน macOS เวอร์ชั่นใหม่ ๆ Cron อาจจะเจอปัญหาเรื่องสิทธิ์การเข้าถึงไฟล์ ทำให้รันสคริปต์บางอย่างไม่ได้ถ้าไม่ไปตั้งค่าใน System Settings ก่อน
แก้ได้โดย
- เปิด System Settings > Privacy & Security
- ไปที่แท็บ Privacy และเลือก Full Disk Access
- คลิกที่รูปกุญแจด้านล่างซ้ายและใส่รหัสผ่าน
- กด Command + Shift + G ใน Finder แล้วใช้คำสั่ง
open /usr/sbin/cron
เพื่อหาไฟล์ cron - ลากไฟล์ /usr/sbin/cron จาก Finder ไปวางในรายการของ Full Disk Access
- ลองรันสคริปต์อีกครั้ง
การตั้งค่านี้ช่วยให้ cron มีสิทธิ์ในการเข้าถึงข้อมูลส่วนตัวและระบบต่าง ๆ ได้เหมือนกับแอปพลิเคชันที่ถูกอนุญาตให้เข้าถึงได้โดยผู้ใช้โดยตรงครับ
อ่านเพิ่มเติม