Menu

Showing posts with label crontab. Show all posts
Showing posts with label crontab. Show all posts

Friday, January 15, 2021

[System - Linux] วิธีการตรวจสอบข้อมูล Log ของ Cron บน Linux Server แต่ละประเภท
[System - Linux] How to Find Cron Logs on Each Type of Linux Server

Ubuntu และ Debian

ข้อมูล log ของ cron จะถูกรวมอยู่ใน /var/log/syslog 

วิธีการตรวจสอบ log ให้ใช้คำสั่งดังนี้

grep CRON /var/log/syslog

CentOS and Redhat

ข้อมูล log ของ cron จะแยกไว้ที่ /var/log/cron 

วิธีการตรวจสอบ log ให้ใช้คำสั่งดังนี้

tail /var/log/cron

Friday, January 17, 2020

[System] การตั้งค่า Crontab เพื่อรันภายใต้ผู้ใช้งานที่ระบุ
[System] How to Run Crontab with Specific User

ในบางครั้งเราต้องการรัน cron ภายใต้ผู้ใช้งานที่เราระบุ ยกตัวอย่าง เช่น การรัน schedule ของ Laravel การไม่ระบุผู้ใช้งาน อาจจะทำให้เกิดปัญหาขึ้นได้ (อ่านเพิ่มได้ที่ [Laravel - Scheduler] ระวัง!!! การไม่กำหนด username ใน Cron Entry สามารถทำให้เกิด "Permission Denied" ได้)

การระบุผู้ใช้งานที่รัน cron สามารถระบุได้ 2 แบบดังนี้
  1. การตั้งค่า cron ในไฟล์ /etc/crontab หรือไฟล์ใน /etc/cron.d/ สามารถเพิ่ม cron entry ที่มี username ได้เลย ดังนี้
  2. * * * * * username /path/to/your/script.sh
    
  3. การตั้งค่า cron ภายใต้ user ที่ต้องการ สามารถรันคำสั่งดังนี้ 
  4. sudo crontab -u username -e
    
    หลังจากนั้น เพิ่ม cron entry ดังนี้
    * * * * * /path/to/your/script.sh
    
หมายเหตุ ไม่สามารถใช้ crontab entry แบบที่ 1 เพิ่มลงในการตั้งค่า cron แบบที่ 2 เนื่องจาก /path/to/your/script.sh จะไม่ถูกรัน

Thursday, August 8, 2019

[Laravel - Scheduler] การใช้ Environment Variable ของระบบปฏิบัติการใน Laravel Scheduler
[Laravel - Scheduler] How to Use Environment Variable of Operating System in Laravel Scheduler

Laravel scheduler ใช้ Crontab ในการรันคำสั่งต่างๆตามเวลาที่กำหนดบน Linux

เมื่อเราต้องการใช้งาน Laravel scheduler เราเพียงเพิ่มการตั้งค่าตามด้านล่างนี้ใน Cron ของ server
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
สำหรับการใช้ Environment Variable ของระบบปฏิบัติการ เราจำเป็นต้องสร้าง shell script ขึ้นมาตัวนึง เพื่อ export ตัวแปรที่เราต้องการใช้ก่อน