GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengotomatiskan Tugas dengan Pekerjaan cron di Linux

Jika Anda bekerja di bidang TI, Anda mungkin perlu menjadwalkan berbagai tugas berulang sebagai bagian dari proses otomatisasi Anda.

Misalnya, Anda dapat menjadwalkan pekerjaan tertentu untuk dilaksanakan secara berkala pada waktu tertentu dalam sehari. Ini berguna untuk melakukan pencadangan harian, pengarsipan log bulanan, penghapusan file mingguan untuk menciptakan ruang, dan sebagainya.

Dan jika Anda menggunakan Linux sebagai OS Anda, Anda akan menggunakan sesuatu yang disebut pekerjaan cron untuk mewujudkannya.

Apa itu cron?

Cron adalah utilitas penjadwalan pekerjaan yang ada di sistem mirip Unix. Daemon cron mengaktifkan fungsionalitas cron dan berjalan di latar belakang. Cron membaca crontab (tabel cron) untuk menjalankan skrip yang telah ditentukan sebelumnya.

Dengan menggunakan sintaks tertentu, Anda dapat mengonfigurasi tugas cron untuk menjadwalkan skrip atau perintah lain agar berjalan secara otomatis.

Untuk pengguna individu, layanan cron memeriksa file berikut:/var/spool/cron /crontab

Apa itu tugas cron di Linux?

Tugas apa pun yang Anda jadwalkan melalui cron disebut tugas cron. Pekerjaan Cron membantu kami mengotomatiskan tugas-tugas rutin kami, apakah itu per jam, harian, bulanan, atau tahunan.

Sekarang, mari kita lihat cara kerja cron job.

Cara Mengontrol Akses ke cron

Untuk menggunakan tugas cron, admin harus mengizinkan tugas cron ditambahkan untuk pengguna di file '/etc/cron.allow'.

Jika Anda mendapatkan prompt seperti ini, itu berarti Anda tidak memiliki izin untuk menggunakan cron.

Untuk mengizinkan John menggunakan cron, sertakan namanya di '/etc/cron.allow'. Ini akan memungkinkan John untuk membuat dan mengedit tugas cron.

Pengguna juga dapat ditolak aksesnya ke akses cron job dengan memasukkan nama pengguna mereka di file '/etc/cron.d/cron.deny'.

Cara Menambahkan Pekerjaan cron di Linux

Pertama, untuk menggunakan tugas cron, Anda harus memeriksa status layanan cron. Jika cron tidak diinstal, Anda dapat dengan mudah mengunduhnya melalui pengelola paket. Cukup gunakan ini untuk memeriksa:

# Check cron service on Linux system
sudo systemctl status cron.service

Sintaks tugas cron

Crontab menggunakan tanda berikut untuk menambahkan dan mendaftar tugas cron.

  • crontab -e :mengedit entri crontab untuk menambah, menghapus, atau mengedit tugas cron.
  • crontab -l :daftar semua pekerjaan cron untuk pengguna saat ini.
  • crontab -u username -l : daftar cron pengguna lain.
  • crontab -u username -e : edit cron pengguna lain.

Saat Anda membuat daftar cron, Anda akan melihat sesuatu seperti ini:

# Cron job example
* * * * * sh /path/to/script.sh

Pada contoh di atas,

  • * * * * * masing-masing mewakili menit(s) jam(s) hari(s) bulan(s) hari kerja(s),
Nilai Deskripsi
Menit 0-59 Perintah akan dieksekusi pada menit tertentu.
Jam 0-23 Perintah akan dieksekusi pada jam tertentu.
Hari 1-31 Perintah akan dieksekusi pada hari-hari dalam bulan ini.
Bulan 1-12 Bulan di mana tugas harus dijalankan.
Hari kerja 0-6 Hari dalam seminggu di mana perintah akan dijalankan. Di sini, 0 adalah hari Minggu.
  • sh menyatakan bahwa skrip adalah skrip bash dan harus dijalankan dari /bin/bash .
  • /path/to/script.sh menentukan jalur ke skrip.

Di bawah ini adalah ringkasan sintaks cron job.

*   *   *   *   *  sh /path/to/script/script.sh
|   |   |   |   |              |
|   |   |   |   |      Command or Script to Execute        
|   |   |   |   |
|   |   |   |   |
|   |   |   |   |
|   |   |   | Day of the Week(0-6)
|   |   |   |
|   |   | Month of the Year(1-12)
|   |   |
|   | Day of the Month(1-31)  
|   |
| Hour(0-23)  
|
Min(0-59)

Contoh tugas cron

Berikut adalah beberapa contoh penjadwalan cron job.

Jadwal Nilai yang dijadwalkan
5 0 * 8 * Pada 00:05 di bulan Agustus.
5 4 * * 6 Pada 04:05 pada hari Minggu.
0 22 * ​​* 1-5 Pada pukul 22:00 setiap hari dalam seminggu dari Senin sampai Jumat.

Tidak apa-apa jika Anda tidak dapat memahami ini sekaligus. Anda dapat berlatih dan membuat jadwal cron dengan guru crontab.

Cara menyiapkan tugas cron

Di bagian ini, kita akan melihat contoh cara menjadwalkan skrip sederhana dengan cron job.

  1. Buat skrip bernama date-script.sh yang mencetak tanggal dan waktu sistem dan menambahkannya ke file. Scriptnya ditunjukkan di bawah ini:

2. Jadikan skrip dapat dieksekusi dengan memberikan hak eksekusi.

chmod 775 date-script.sh

3. Tambahkan script di crontab menggunakan crontab -e .

Di sini, kami telah menjadwalkannya untuk berjalan per menit.

4. Periksa output dari file date-out.txt . Menurut skrip, tanggal sistem harus dicetak ke file ini setiap menit.

Cara Mengatasi Masalah cron

Cron sangat membantu, tetapi mungkin tidak selalu berfungsi sebagaimana mestinya. Untungnya, ada beberapa metode efektif yang dapat Anda gunakan untuk memecahkan masalah tersebut.

  1. Periksa jadwalnya.

Pertama, Anda dapat mencoba memverifikasi jadwal yang disetel untuk cron. Anda dapat melakukannya dengan sintaks yang Anda lihat di bagian di atas.

2. Periksa log cron.

Pertama, Anda perlu memeriksa apakah cron telah berjalan pada waktu yang ditentukan atau tidak. Anda dapat memverifikasi ini dari log cron yang terletak di var/log/cron . Di beberapa distro, log dapat ditemukan di /var/log/syslog

Jika ada entri di log ini pada waktu yang tepat, itu berarti cron telah berjalan sesuai dengan jadwal yang Anda tetapkan.

Di bawah ini adalah log dari contoh pekerjaan cron kami. Perhatikan kolom pertama yang menunjukkan stempel waktu. Jalur skrip juga disebutkan di akhir baris.

3. Arahkan ulang output cron ke file.

Anda dapat mengarahkan output cron ke file dan memeriksa file untuk kemungkinan kesalahan.

# Redirect cron output to a file
* * * * * sh /path/to/script.sh &> log_file.log

Menutup

Mengotomatiskan tugas, seperti dengan tugas cron, mengurangi pekerjaan berulang yang perlu Anda lakukan. Ini juga memungkinkan mesin pulih secara otomatis dan bekerja sepanjang waktu tanpa campur tangan manusia.

Otomatisasi di Linux sangat bergantung pada pekerjaan cron, jadi Anda harus mempelajari cron dan bereksperimen dengannya.

Terima kasih telah membaca sampai akhir. Umpan balik selalu diterima.

Jika Anda merasa artikel ini bermanfaat, bagikan dengan teman-teman Anda.

Mari terhubung di Twitter!


Linux
  1. Menjadwalkan tugas dengan perintah cron Linux

  2. Bagaimana saya menggunakan cron di Linux

  3. Cara Menjadwalkan Pekerjaan Cron dengan Crontab

  1. Menjadwalkan tugas sistem dengan Cron di Linux

  2. Otomatiskan Tugas Sistem dengan crontab di CentOS 7

  3. Cara Menjadwalkan Pekerjaan dengan perintah 'at' di Linux

  1. Cara Mengatur Pekerjaan Cron di Linux

  2. Bagaimana cara mengatur Tugas Otomatis pada VPS Linux Menggunakan Cron?

  3. Bagaimana cara memeriksa kata sandi dengan Linux?