Home / Programming / Cara Menggunakan Crontab untuk Mengotomatiskan Tugas Berulang di Linux

Cara Menggunakan Crontab untuk Mengotomatiskan Tugas Berulang di Linux

Manfaatkan perintah crontab Linux untuk mengotomatiskan berbagai tugas duniawi dan berulang, menyederhanakan hidup Anda. Alat yang luar biasa dan mudah digunakan ini, dikombinasikan dengan beberapa skrip, tidak hanya dapat mengotomatiskan semua jenis tugas, tetapi juga membantu menghindari kesalahan manusia sederhana atau kelupaan.

Di sini Anda akan mempelajari apa itu crontab, cara menambahkan pekerjaan otomatis, dan beberapa contoh dunia nyata.

Apa Itu Crontab?

Crontab adalah proses daemon yang berjalan di latar belakang pada hampir semua mesin Linux, dan digunakan untuk menjadwalkan dan menjalankan tugas otomatis pada interval waktu yang ditentukan. Ini juga sering digunakan oleh pengembang perangkat lunak untuk menjalankan tugas yang memakan waktu di latar belakang.

Ini bisa apa saja termasuk tetapi tidak terbatas pada mengirim email batch, memeriksa feed Twitter Anda, melakukan backup, atau sekadar melakukan pengingat.

Perintah Dasar Crontab

Setiap pengguna Linux di komputer memiliki file crontab mereka sendiri, yang berisi tugas crontab aktif mereka. Berikut adalah beberapa perintah terminal dasar yang akan Anda gunakan untuk melihat dan memodifikasi file crontab:

  • crontab-l — Cantumkan semua pekerjaan crontab.
  • crontab -e — Edit file crontab.
  • crontab -r — Hapus semua entri dari file crontab.

Perintah di atas akan ditujukan untuk file crontab pengguna saat ini. Jika Anda perlu mengubah file crontab pengguna lain, cukup gunakan -u pilihan. Misalnya, Anda dapat mengedit file jdoe file crontab pengguna dengan perintah:

ubuntu-grup-pengguna
sudo crontab -ujdoe -e

Format Pekerjaan Crontab

Setiap pekerjaan crontab terdiri dari satu baris, dan diformat sebagai berikut:

MINUTE HOUR DAY MONTH WEEKDAY COMMAND

Tabel di bawah ini menjelaskan berbagai elemen pekerjaan crontab:

Elemen Ranage Deskripsi
Menit 0 – 59 Menit untuk menjalankan tugas crontab di.
Jam 0 – 23 Jam untuk menjalankan tugas crontab di.
Hari 1 – 31 Hari dalam sebulan untuk menjalankan tugas crontab di.
Bulan 1 – 12 Bulan untuk menjalankan tugas crontab di.
Hari kerja 0 – 6 Hari dalam seminggu untuk melaksanakan tugas crontab di.
Perintah Perintah Linux apa pun yang dapat Anda jalankan di terminal.

Anda bisa menggunakan asterisk

20 3 * * * /root/backup.sh

di salah satu bidang untuk menunjukkan karakter pengganti, yang berarti tugas crontab akan dijalankan terlepas dari jangka waktu tersebut. Misalnya, tugas crontab di bawah ini akan dijalankan setiap malam tepat pukul 3:20:

Beberapa Nilai

20,50 * * * * /path/to/command.sh

Setiap periode waktu juga dapat mencakup banyak elemen. Anda dapat menentukan nilai yang tepat dengan memisahkannya dengan koma, dan tugas crontab di bawah ini akan dijalankan setiap jam pada 20 dan 50 menit setelah satu jam: Namun, jika Anda ingin menjalankan tugas crontab pada interval tertentu dalam jangka waktu tertentu, Anda dapat menggunakannya*/TITIK

15 */3 * * * /path/to/command.sh

, dan tugas crontab di bawah ini akan secara otomatis dijalankan pada 15 menit setelah satu jam setiap tiga jam:

Menjaga Pekerjaan Crontab Tetap Tenang Semua tergantung, Anda mungkin ingin menghapus semua output dari tugas crontab agar tidak berakhir di folder email sistem Anda. Anda dapat melakukan ini dengan menambahkan > / dev / null 2> & 1

0 6 15 * * /path/to/backup.sh > /dev/null 2>&1

untuk pekerjaan crontab apa pun. Sebagai contoh:

Menambahkan Pekerjaan Crontab Umumnya, metode yang paling banyak digunakan untuk menambah atau memodifikasi pekerjaan crontab adalah crontab -e

crontab -e

perintah. Jalankan perintah ini di terminal: Ini akan membuka editor teks seperti nano dengan konten file crontab Anda. Setiap tugas crontab berada pada satu baris, dan Anda dapat menambah, memodifikasi, dan menghapus baris sesuai keinginan. Setelah selesai, simpan dan tutup file dengan menekanCtrl + W , diikuti oleh Y dan Memasukkan

kunci, yang akan segera mengaktifkan semua pekerjaan crontab di dalam file.

Pintasan untuk Menambahkan Pekerjaan

0 14 * * 0 /path/to/command.sh

Alih-alih memodifikasi file crontab secara manual, ada satu perintah cepat yang dapat Anda jalankan untuk menambahkan pekerjaan. Misalnya, jika Anda ingin menambahkan tugas crontab ini yang berjalan setiap hari Minggu pukul 14.00:

(crontab -l; echo "0 14 * * 0 /path/to/command.sh";) | crontab

Anda dapat menambahkan pekerjaan ke file crontab Anda dengan satu perintah: Perintah di atas hanya mencantumkan semua pekerjaan yang saat ini ada di file crontab Anda, mencetak pekerjaan baru, dan menyalurkan semuanya ke dalamnya crontab

mengganti isinya.

Mendaftar / Menghapus File Crontab

crontab -l

Anda dapat mencantumkan semua pekerjaan yang saat ini aktif dalam file crontab Anda dengan perintah:

crontab -r

Anda juga dapat menghapus semua pekerjaan crontab dan mengosongkan konten file crontab Anda dengan perintah:

Contoh: Mainkan Suara! Butuh pengingat cepat setiap dua jam saat bekerja untuk memberi tahu Anda bahwa waktu telah berlalu? Ambil klip audio favorit Anda dalam hampir semua format (.wav, .mp4, apa saja), dan jika disimpan di (misalnya) /home/myuser/myalert.wav

0 */2 * * * aplay /home/myuser/myalert.wav

memilikinya secara otomatis dimainkan dengan pekerjaan crontab: Bagaimana kalau memberi Anda pengiriman yang bagus dari pekerjaan minggu ini dengan lagu favorit Anda diputar secara otomatis pada pukul 17:00 setiap Jumat sore? Ambil klip lagu favorit Anda, dan jika disimpan di katakan /home/myuser/friday_song.mp4

0 17 * * 5 aplay /home/myuser/friday_song.mp4

Anda akan menambahkan pekerjaan crontab:

Contoh: File Backup dengan Rsync

Salah satu dari banyak kegunaan crontab yang luar biasa adalah kemampuan untuk mencadangkan file Anda secara otomatis ke server jarak jauh. Secara substansial mengurangi risiko Anda kehilangan data penting lagi dengan tutorial rsync yang luar biasa ini.

Contoh: Periksa apakah Situs Daring


<?php
// E-mail address to notify of sites down
$email="[email protected]";
// Define URLs to check
$urls = [
'https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// Go through URLs
$down = [];
foreach ($urls as $url) {
// Check URL
$status = check_url($url);
if ($status != 200) {
$down[] = $url;
}
}
// Send e-mail if we have down sites
if (count($down) > 0) {
mail($email, "Urgent - Sites Down!", "Your bot has detected the following sites are currently down:
" . implode("
", $down));
}
// Exit
exit(0);

/**
* Check URL
*/
function check_url(string $url):int
{
// Send via cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
// Get status, and close connection
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// Return
return $status;
}

Mungkin Anda ingin memeriksa secara otomatis setiap lima menit apakah berbagai situs sedang online atau tidak, dan diberi tahu melalui email jika ada yang tidak aktif. Berikut ini skrip PHP kecil yang bagus yang akan melakukan hal itu. Cukup ubah alamat email dan URL yang diinginkan untuk diperiksa di bagian atas file, dan simpan di suatu tempat seperti/home/myuser/check_sites.php

*/5 * * * * /usr/bin/php /home/myuser/check_sites.php > /dev/null 2>&1

. Agar skrip ini berjalan setiap lima menit dan memberi tahu Anda melalui email untuk situs apa pun yang tidak aktif, tambahkan tugas crontab:

Otomatiskan Hidup Anda!

Dengan artikel ini Anda diharapkan memahami kekuatan otomasi crontab, dan bagaimana itu dapat digunakan untuk mengotomatiskan banyak tugas duniawi dan berulang dalam hidup Anda.

Anda telah mempelajari apa itu crontab, tentang file crontab, bagaimana pekerjaan crontab diformat, dan beberapa contoh nyata tentang bagaimana hal itu dapat digunakan.
linux-automation

4 Aplikasi Otomasi Linux untuk Merampingkan Tugas dan Alur Kerja Anda


Ingin menghemat waktu dan menghindari tugas yang berulang? Jawabannya adalah otomatisasi! Berikut beberapa aplikasi otomatisasi desktop Linux yang berguna untuk dicoba.

Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan.

.

About nomund

Melihat Keluaran KL cepat : Nomor KL Hari Ini Lengkap

Check Also

Apa itu Rubber Duck Debugging?

Ada sangat sedikit hal yang terasa lebih buruk daripada menjalankan program Anda untuk kesekian kalinya …