Dokumentasi

Mulai cepat + penjelasan fitur tiap bagian dan tiap perangkat (terus diperbarui)

Tugas terjadwal (Cron)

Artikel ini menjelaskan cara mengelola tugas terjadwal di server target.

Kenali dulu: apa itu Cron

Cron adalah alat "penjadwalan" bawaan Linux. Anda bisa menyuruhnya "mencadangkan basis data otomatis setiap pukul 3 pagi", "membersihkan log setiap jam", "me-restart sebuah layanan setiap Senin" — dijalankan otomatis pada waktunya, tanpa perlu diawasi.

Ringkasan fitur

Melihat, menambah, dan menghapus tugas terjadwal Cron di server target.

Skenario penggunaan

  • Pencadangan basis data dan pembersihan log secara terjadwal
  • Menjalankan skrip pemantauan secara terjadwal
  • Me-restart layanan dan memperbarui sertifikat secara terjadwal

Cara penggunaan

Masuk ke "Panel manajemen sistem → Tugas terjadwal" pada salah satu server, dan Anda akan melihat semua tugas Cron yang ada di server tersebut saat ini.

Menambah tugas

Isi ekspresi Cron dan perintah yang akan dijalankan:

KolomKeterangan
Ekspresi waktuformat 5 bagian, mis. 0 3 * * * (setiap hari pukul 3 pagi)
Perintahperintah shell yang akan dijalankan

Format ekspresi Cron (menit jam tanggal bulan hari):

* * * * *  perintah
│ │ │ │ │
│ │ │ │ └── hari (0-7, 0/7=Minggu)
│ │ │ └──── bulan (1-12)
│ │ └────── tanggal (1-31)
│ └──────── jam (0-23)
└────────── menit (0-59)

Contoh umum:

EkspresiArti
*/5 * * * *setiap 5 menit
0 * * * *setiap jam
0 3 * * *setiap hari pukul 3 pagi
0 3 * * 1setiap Senin pukul 3 pagi
0 3 1 * *setiap tanggal 1 pukul 3 pagi
0 3 * * 0setiap Minggu pukul 3 pagi
30 2 * * *setiap hari pukul 2:30 pagi

Contoh perintah praktis:

# Mencadangkan basis data setiap pukul 3 pagi (contoh)
0 3 * * * docker exec sshe-mysql mariadb-dump -uroot -p'<kata-sandi>' <nama-basis-data> > /opt/backup/db-$(date +\%F).sql

# Membersihkan file sementara setiap 6 jam
0 */6 * * * find /tmp -type f -mtime +7 -delete

# Me-restart sebuah layanan setiap Senin pukul 4 pagi
0 4 * * 1 systemctl restart my-app

Hal yang perlu diperhatikan

1. Tugas Cron dijalankan dengan identitas pengguna saat ini di server target; pastikan pengguna tersebut punya izin menjalankan perintahnya.

2. Sebaiknya tulis path absolut pada perintah (variabel lingkungan Cron sedikit, path relatif bisa gagal menemukan program).

3. Tanda % di dalam perintah harus di-escape menjadi \% (Cron menganggap % sebagai karakter khusus).

4. Tugas Cron yang dihapus langsung berlaku.

5. Mengubah Cron tingkat sistem (/etc/crontab) mungkin perlu dilakukan di luar panel; secara default panel mengelola crontab -l milik pengguna saat ini.