Site icon PlusMagi's Blog By Pitt Phunsanit

macOS: Cron ตั้งเวลาทำงานใน mac โดย root

แต่ละ OS จะมีระบบตั้งเวลาในการทำงานอัตโนมัติ ใน Windows มี Task Scheduler, ใน linux มี Cron ส่วนใน macOS จะมี Cron และ launchd โดยการใช้ Cron job (วิธีดั้งเดิมแต่ใช้ใน linux ได้ด้วย) ทำให้การ dev บน mac แล้วใช้ linux server ในการทำงานจริง ๆ ได้ Cron ใน macOS เหมือน Linux ทั่วไป สามารถใช้คำสั่งเดิมๆ ได้เลย

แก้ได้โดย

  1. เปิด System Settings (การตั้งค่าระบบ) > Privacy & Security (ความเป็นส่วนตัวและความปลอดภัย)
  2. ไปที่แท็บ Privacy และเลือก Full Disk Access
  3. คลิกที่รูปกุญแจด้านล่างซ้ายและใส่รหัสผ่าน (ถ้าถูกล็อกอยู่)
  4. กด Command + Shift + G ใน Finder (หรือไปที่ Applications > Utilities > Terminal แล้วใช้คำสั่ง
    open /usr/sbin/cron
    เพื่อหาไฟล์ cron
  5. ลากไฟล์ /usr/sbin/cron จาก Finder ไปวางในรายการของ Full Disk Access
  6. ลองรันสคริปต์อีกครั้ง

การตั้งค่านี้ช่วยให้ cron (ซึ่งทำงานภายใต้สิทธิ์ของ root) มีสิทธิ์ในการเข้าถึงข้อมูลส่วนตัวและระบบต่างๆ ได้เหมือนกับแอปพลิเคชันที่ถูกอนุญาตให้เข้าถึงได้โดยผู้ใช้โดยตรงครับ

อ่านเพิ่มเติม

Exit mobile version