Mari kita lihat beberapa contoh nyata dari pekerjaan cron.
- Katakanlah, Anda memiliki situs web dan Anda ingin mengirim email kepada semua pengguna situs web Anda setiap hari. Yang harus Anda lakukan adalah, tulis skrip pengiriman email dan atur tugas cron untuk menjalankan skrip itu setiap hari.
- Katakanlah, Anda memiliki biro iklan dan Anda ingin mengingatkan semua pengiklan yang saldonya di bawah $5 untuk diisi ulang. Yang harus Anda lakukan adalah menulis skrip yang memeriksa saldo semua pengiklan dan ketika di bawah $ 5, itu akan mengirimkan pemberitahuan ke nomor ponsel atau email pengiklan. Kemudian atur tugas cron untuk menjalankan skrip setiap 5 hingga 10 menit, atau setiap jam.
Ada banyak kegunaan lain dari pekerjaan cron di Linux.
Pada artikel ini, saya akan menunjukkan cara menjalankan pekerjaan cron setiap menit di Linux. Saya akan menggunakan Debian 9 Stretch untuk demonstrasi. Tetapi Anda dapat menggunakan distribusi Linux modern apa pun pilihan Anda. Mari kita mulai.
Dasar-dasar Crontab:
Di Linux, Anda tidak perlu menjadi akar untuk menjalankan tugas cron. Anda dapat menjalankan tugas cron sebagai pengguna mana pun. Setiap pengguna di Linux dapat menggunakan a crontab file untuk menjalankan set pekerjaan cron mereka sendiri.
Secara default, pengguna tidak memiliki crontab file di Linux. Anda dapat membuat crontab file dengan perintah berikut:
$ crontab -e
Jika Anda menjalankan perintah ini untuk pertama kalinya, maka Anda akan diminta untuk memilih editor teks dari daftar. saya akan memilih nano, yang default. Anda dapat memilih yang Anda suka. Setelah selesai, tekan
Itu crontab file harus dibuat (jika belum tersedia) dan dibuka dengan editor teks favorit Anda. Sekarang Anda dapat menambahkan pekerjaan cron Anda sendiri di akhir file ini dan setelah Anda puas, simpan saja dan keluar dari editor teks.
Sintaks Menjalankan Perintah Setiap Menit:
Sintaks dari crontab berkasnya sebagai berikut:
menit jam hariBulan hariHariMinggu perintahUntukRunSini,
- menit dapat 0 untuk 59.
- jam bisa juga 0 untuk 59.
- hariBulan dapat 1 untuk 31.
- bulan dapat 1 untuk 12.
- hari dalam seminggu dapat 0 untuk 7. 0 dan 7 artinya hari minggu, 1 artinya hari senin, 2 berarti Selasa dan seterusnya.
Untuk menjalankan perintahUntukMenjalankan perintah setiap menit, Anda harus menulisnya di crontab berkas sebagai berikut:
* * * * * commandToRunMenjalankan Pekerjaan Crob Setiap Menit:
Sekarang setelah kita mengetahui teorinya, mari tambahkan skrip sederhana pengatur waktu.SH ke crontab file dan lihat cara mengelolanya.
Dalam pengatur waktu.SH skrip, saya hanya memiliki baris kode berikut. Yang dilakukannya hanyalah membuat file baru /home/shovon/bin/timer.catatan (jika belum ada) dan menambahkan output dari perintah date ke dalamnya.
Sekarang mari tambahkan skrip ke to crontab dan biarkan berjalan setiap menit dengan baris berikut:
* * * * * /home/shovon/bin/timer.SH
Setelah Anda menyimpan crontab file dan keluar dari editor teks, yang baru crontab file harus diinstal.
Setelah satu menit berlalu, file baru adalah pengatur waktu.catatan dibuat di direktori yang diinginkan seperti yang Anda lihat di bagian yang ditandai dari tangkapan layar di bawah ini.
Dari pengatur waktu.catatan file log, jelas bahwa skrip pengatur waktu.SH berjalan setiap menit.
Menangkap Kesalahan dari Pekerjaan Cron:
Untuk menangkap kesalahan dari tugas cron, Anda dapat mengirim kesalahan ke a kesalahan.catatan file dan output normal ke mengakses.catatan file misalnya. Tentu saja Anda dapat memberi nama file apa pun yang Anda inginkan.
Untuk menunjukkan ini, saya memodifikasi skrip saya modified pengatur waktu.SH sedikit. Sekarang kesalahan dikirim ke kesalahan.catatan file di /home/shovon/bin direktori dan output dikirim ke mengakses.catatan dalam /home/shovon/bin direktori.
Pada awalnya /tmp/i_must_be_here file tidak ada, jadi saya mendapatkan kesalahan di kesalahan.catatan file seperti yang Anda lihat.
Itu mengakses.catatan file kosong saat ini.
Sekarang saya akan membuat file /tmp/i_must_be_here
Dan seperti yang Anda lihat, outputnya ada di mengakses.catatan ajukan sekarang.
Jika mau, Anda dapat mengarahkan ulang output dan kesalahan dalam file yang sama sebagai berikut:
Seperti yang Anda lihat, output STDIN dan STDERR dikirim ke di luar.catatan mengajukan.
Memastikan Pekerjaan Terakhir Selesai Berjalan Sebelum Menjalankan Pekerjaan Lagi:
Agar ini berfungsi, Anda dapat membuat file sementara tepat setelah pekerjaan dimulai dan menghapusnya tepat sebelum selesai. Kemudian Anda dapat memeriksa apakah file sementara ada sebelum memulai pekerjaan. Jika ya, Anda dapat keluar dari pekerjaan dan menjalankan pekerjaan hanya ketika file sementara tidak tersedia.
Skrip sederhana ini melakukan hal itu.
Seperti yang Anda lihat, pengatur waktu.pid file dibuat.
Membaca mengakses.catatan file membuktikan bahwa tugas cron tidak berjalan sebelum tugas cron sebelumnya selesai berjalan. Seperti yang Anda lihat, itu berjalan pada 01:32:01 dan waktu berikutnya seharusnya berjalan pada 01:33:01, tetapi tidak. Sebaliknya, itu berjalan pada 01:35:01, sekitar 3 menit kemudian.
Mengatur Output Cron Job untuk Debugging yang Mudah:
Anda dapat memformat output dengan baik untuk membuat tugas cron Anda lebih mudah untuk di-debug.
Contoh bagaimana hal itu dapat dilakukan diberikan dalam skrip berikut.
Seperti yang Anda lihat, output, kesalahan, dan pesan sukses tercetak dengan baik di file log.
Anda dapat melakukan hal-hal luar biasa dengan pekerjaan cron dan skrip shell. Saya menunjukkan beberapa ide di sini. Tapi langit adalah batasmu. Jangan ragu untuk bereksperimen dengan ide apa pun yang Anda miliki. Terima kasih telah membaca artikel ini.