@extends('layouts.app') @section('title', 'Pengaturan Cron Job') @section('content')

Pengaturan / Cron Job

Command Cron Job
Informasi Server
OS {{ PHP_OS }}
PHP Version {{ PHP_VERSION }}
Laravel Version {{ app()->version() }}
Base Path {{ base_path() }}
PHP Path {{ PHP_BINARY }}

Gunakan /usr/local/bin/php atau jalankan which php via SSH untuk cek path PHP yang benar
Untuk VPS Linux dengan full akses (gunakan php langsung jika sudah di PATH)
Untuk Windows Server / Local Development
Command langsung tanpa cd ke directory
Daftar Scheduled Tasks
Command Schedule Deskripsi Status
attendance:generate-absent Hourly 08:00 - 23:59 Weekdays Generate absensi alpha untuk karyawan yang tidak hadir
Dijalankan setiap jam, cek apakah karyawan sudah melewati jam checkout + 30 menit
Panduan Setup
Setup di cPanel
🔍 Langkah 1: Cek Path PHP yang Benar
  1. Login ke cPanel → Terminal (jika tersedia)
  2. Atau login via SSH ke server
  3. Jalankan command: which php
  4. Akan muncul path seperti: /usr/local/bin/php atau /usr/bin/php
  5. Gunakan path tersebut untuk command cron
📝 Langkah 2: Setup Cron Job
  1. Login ke cPanel hosting Anda
  2. Cari menu "Cron Jobs" di bagian Advanced
  3. Pilih interval "Common Settings: Once Per Minute (* * * * *)"
  4. Di field "Command", masukkan:
    /usr/local/bin/php {{ base_path() }}/artisan schedule:run >> /dev/null 2>&1 ⚠️ Ganti /usr/local/bin/php dengan hasil dari which php
  5. Klik "Add New Cron Job"
  6. Cron Job akan otomatis berjalan setiap menit
  7. Kembali ke halaman ini dan klik "Check Status" untuk verifikasi
⚠️ Catatan Penting:
• Jangan gunakan php-fpm, harus php biasa
• Path PHP berbeda-beda tergantung hosting provider
• Jika error, tanyakan path PHP yang benar ke support hosting
• Status akan update otomatis dalam 1-2 menit setelah setup
💡 Tips cPanel:
• Cek email untuk notifikasi error dari cron
• Tambahkan >/dev/null 2>&1 di akhir command untuk disable email
• Gunakan > /home/username/cron.log 2>&1 untuk save log
• Contoh provider: cPanel biasa pakai /usr/local/bin/php
Setup di Plesk
  1. Login ke Plesk Panel
  2. Pilih domain/website Anda
  3. Klik "Scheduled Tasks"
  4. Klik "Add Task"
  5. Task type: Run a command
  6. Schedule: */1 * * * * (every minute)
  7. Copy paste command Linux di atas
  8. Klik "OK"
Setup di VPS via SSH
  1. SSH ke server VPS Anda
  2. Jalankan command: crontab -e
  3. Tekan i untuk masuk mode insert
  4. Copy paste command Linux di atas
  5. Tekan Esc kemudian ketik :wq dan Enter
  6. Verifikasi: crontab -l
Tips: Untuk log cron, ubah command menjadi:
* * * * * cd {{ base_path() }} && {{ PHP_BINARY }} artisan schedule:run >> {{ base_path('storage/logs/cron.log') }} 2>&1
Setup di Windows (Development)
  1. Buka Task Scheduler
  2. Klik "Create Basic Task"
  3. Name: Laravel Scheduler
  4. Trigger: Daily, repeat every 1 minute
  5. Action: Start a program
  6. Program/script: {{ PHP_BINARY }}
  7. Add arguments: artisan schedule:run
  8. Start in: {{ base_path() }}
  9. Finish & Test
Alternatif untuk Development (Lebih Mudah):
  1. Buka PowerShell atau CMD
  2. Masuk ke folder project: cd {{ base_path() }}
  3. Jalankan: php artisan schedule:work
  4. Biarkan terminal tetap terbuka (Tekan Ctrl+C untuk stop)
Info Penting:
• Command schedule:work akan otomatis menjalankan scheduler setiap menit
• Cocok untuk development/testing lokal
• Untuk production, gunakan Task Scheduler Windows
• Command attendance:generate-absent hanya jalan:
  - Senin-Jumat (weekdays)
  - Jam 08:00 - 23:59 WIB
  - Setiap jam (hourly)
Status Cron
-
-
Belum Diketahui
Status: Checking...
Quick Test

Test menjalankan scheduler secara manual


Development Mode:
Gunakan terminal command:
php artisan schedule:work
Bantuan
Troubleshooting
  • Pastikan path PHP sudah benar
  • Periksa permission folder storage/logs
  • Cek apakah cron sudah aktif di server
  • Lihat log di storage/logs/laravel.log
Kontak Support

Jika mengalami kesulitan, hubungi administrator sistem atau hosting provider Anda.

@push('scripts') @endpush @endsection