Panduan Lengkap Penjadwalan Tugas di Terminal Linux
1. Jadwal Otomatis dengan cron (Crontab)
Cron adalah scheduler paling umum di semua distro Linux.
Format Crontab
scss
CopyEdit
* * * * * perintah
│ │ │ │ │
│ │ │ │ └─ Hari (0=Min)
│ │ │ └── Bulan (1–12)
│ │ └─── Tanggal (1–31)
│ └──── Hari (0–23)
└───── Menit (0–59)
Edit Crontab
Bash:
crontab -e
Contoh Perintah cron
| Tujuan | Crontab |
|---|---|
| Shutdown jam 23:00 setiap hari | 0 23 * * * /sbin/shutdown -h now |
| Jalankan backup setiap Minggu jam 2 pagi | 0 2 * * 0 /home/user/backup.sh |
| Jalankan script setiap 30 menit | */30 * * * * /home/user/script.sh |
| Jalankan script setiap 1 Januari | 0 0 1 1 * /home/user/newyear.sh |
| Reboot setiap Sabtu jam 23:30 | 30 23 * * 6 /sbin/reboot |
Lihat Crontab
Bash:
crontab -l
Hapus Crontab
Bash:
crontab -r
2. Penjadwalan Sekali Pakai dengan at
at digunakan untuk menjadwalkan tugas sekali waktu.
Instal at (jika belum ada)
Bash:
# Debian/Ubuntu
sudo apt install at
Bash:
# RHEL/Fedora
sudo dnf install at
Format Dasar
Bash:
echo "perintah" | at waktu
Contoh at
| Tujuan | Perintah |
|---|---|
| Shutdown jam 23:00 | `echo "shutdown now" |
| Restart dalam 1 jam | `echo "reboot" |
| Kirim pesan jam 5 sore | `echo "echo 'Halo' >> ~/log.txt" |
Cek Daftar Job
Bash:
atq
Hapus Job
Bash:
atrm JOB_ID
3. Penjadwalan Sistem (Service) dengan systemd timer
Untuk distro modern yang memakai systemd (Ubuntu, Debian, Fedora, Arch, dll).
Contoh: Shutdown Otomatis
1. Buat Service File
Bash:
# /etc/systemd/system/shutdown-daily.service
[Unit]
Description=Shutdown otomatis harian
[Service]
Type=oneshot
ExecStart=/sbin/shutdown -h now
2. Buat Timer File
Bash:
# /etc/systemd/system/shutdown-daily.timer
[Unit]
Description=Timer untuk shutdown harian
[Timer]
OnCalendar=*-*-* 23:00:00
Persistent=true
[Install]
WantedBy=timers.target
3. Aktifkan Timer
Bash:
sudo systemctl daemon-reexec
sudo systemctl enable --now shutdown-daily.timer
Format OnCalendar
| Format | Keterangan |
|---|---|
| *-*-* 23:00:00 | Setiap hari jam 23:00 |
| Mon..Fri 08:00 | Senin sampai Jumat jam 8 |
| Sat 20:00 | Setiap Sabtu jam 20:00 |
| 2025-07-01 12:00:00 | Tanggal dan jam tertentu |
4. Shutdown Otomatis dengan shutdown + sleep
Bash:
sudo shutdown -h +60 # Shutdown dalam 60 menit
sudo shutdown -h 23:00 # Shutdown jam 23:00
sudo shutdown -c # Cancel shutdown terjadwal
5. Gunakan sleep untuk Delay Tugas
Bash:
sleep 3600 && shutdown now # Shutdown dalam 1 jam
sleep 10m && your_script.sh
Contoh Use Case Jadwal Linux
| Kasus | Solusi |
|---|---|
| Shutdown jam 11 malam setiap hari | cron atau systemd timer |
| Jalankan skrip backup tiap Jumat | cron |
| Jalankan script hanya sekali besok jam 9 pagi | at |
| Restart server setiap minggu | cron atau systemd |
| Shutdown otomatis setelah 2 jam | sleep && shutdown |