GNU/Linux >> Belajar Linux >  >> Linux

Cara Menjalankan Cron Setiap 5 Menit, Detik, Jam, Hari, Bulan

Pertanyaan: Bagaimana cara menjalankan skrip shell tertentu pada interval tertentu di Linux menggunakan cron job? Berikan contoh menggunakan periode waktu yang berbeda.

Jawaban: Crontab dapat digunakan untuk menjadwalkan pekerjaan yang berjalan pada internal tertentu. Contoh di sini menunjukkan cara menjalankan skrip shell backup.sh menggunakan interval yang berbeda.

Juga, jangan lupa untuk membaca artikel crontab kami sebelumnya yang berisi 15 contoh praktis, dan juga menjelaskan tentang @monthly, @daily, .. tag yang dapat Anda gunakan di crontab Anda.

1. Jalankan tugas cron setiap 5 Menit

Bidang pertama adalah untuk Menit. Jika Anda menentukan * di bidang ini, ini berjalan setiap menit. Jika Anda menentukan */5 di bidang 1, ini berjalan setiap 5 menit seperti yang ditunjukkan di bawah ini.

*/5 * * * * /home/ramesh/backup.sh

Catatan: Dengan cara yang sama, gunakan */10 untuk setiap 10 menit, */15 untuk setiap 15 menit, */30 untuk setiap 30 menit, dll.

2. Jalankan tugas cron setiap 5 Jam

Bidang kedua adalah untuk jam. Jika Anda menentukan * di bidang ini, ini berjalan setiap jam. Jika Anda menentukan */5 di bidang ke-2, ini berjalan setiap 5 jam seperti yang ditunjukkan di bawah ini.

0 */5 * * * /home/ramesh/backup.sh

Catatan: Dengan cara yang sama, gunakan */2 untuk setiap 2 jam, */3 untuk setiap 3 jam, */4 untuk setiap 4 jam, dll.

3. Jalankan pekerjaan setiap 5 Detik

Pekerjaan Cron tidak dapat digunakan untuk menjadwalkan pekerjaan dalam interval detik. yaitu Anda tidak dapat menjadwalkan pekerjaan cron untuk dijalankan setiap 5 detik. Alternatifnya adalah dengan menulis skrip shell yang menggunakan perintah 'sleep 5' di dalamnya.

Buat skrip shell setiap-5-detik.sh menggunakan bash while loop seperti yang ditunjukkan di bawah ini.

$ cat every-5-seconds.sh
#!/bin/bash
while true
do
 /home/ramesh/backup.sh
 sleep 5
done

Sekarang, jalankan skrip shell ini di latar belakang menggunakan nohup seperti yang ditunjukkan di bawah ini. Ini akan terus mengeksekusi skrip bahkan setelah Anda keluar dari sesi Anda. Ini akan mengeksekusi skrip shell backup.sh Anda setiap 5 detik.

$ nohup ./every-5-seconds.sh &

4. Jalankan pekerjaan setiap hari kerja ke-5

Contoh ini bukan tentang penjadwalan "setiap 5 hari". Tapi ini untuk penjadwalan "setiap 5 hari kerja".

Bidang ke-5 adalah DOW (hari dalam seminggu). Jika Anda menentukan * di bidang ini, itu berjalan setiap hari. Untuk menjalankan setiap hari Jumat, tentukan salah satu dari 5 Jumat di bidang ini.

Contoh berikut menjalankan backup.sh setiap Jumat tengah malam.

0 0 * * 5 /home/ramesh/backup.sh
(or)
0 0 * * Fri /home/ramesh/backup.sh

Anda dapat menggunakan nomor pengguna atau akronim tiga huruf yang sesuai untuk hari kerja seperti yang ditunjukkan di bawah ini.

  • 0=Matahari
  • 1=Senin
  • 2=Selasa
  • 3=Rabu
  • 4=Kamis
  • 5=Jumat
  • 6=Sab

Catatan: Biasakan menggunakan Jum, bukan 5. Harap perhatikan bahwa angka dimulai dengan 0 (bukan dengan 1), dan 0 untuk Minggu (bukan Sen).

5. Jalankan pekerjaan setiap 5 bulan

Tidak ada cara langsung untuk mengatakan 'setiap 5 bulan', sebaliknya Anda harus menentukan bulan tertentu Anda ingin menjalankan pekerjaan itu. Mungkin Anda ingin menjalankan pekerjaan pada bulan ke-5 (Mei), dan bulan ke-10 (Okt).

Bidang keempat adalah untuk Bulan. Jika Anda menentukan * di bidang ini, ini berjalan setiap bulan. Untuk menjalankan untuk bulan tertentu, Anda harus menentukan nomor yang sesuai dengan bulan tersebut. Misalnya, untuk menjalankan pekerjaan pada bulan Mei dan Oktober, Anda harus menentukan 5,10 (atau) Anda cukup menggunakan akronim 3 huruf dari bulan tersebut dan menentukan Mei,Okt.

Kolom ketiga adalah untuk DOM (Day of the Month). Jika Anda menentukan * di bidang ini, ini berjalan setiap hari dalam sebulan. Jika Anda menentukan 1 di bulan ini, itu berjalan pada tanggal 1 bulan itu.

Contoh berikut menjalankan backup.sh dua kali setahun. yaitu 1 Mei di tengah malam, dan 1 Oktober di tengah malam.

0 0 1 5,10 * /home/ramesh/backup.sh
(or)
0 0 1 May,Oct * /home/ramesh/backup.sh

Catatan: Jangan sampai salah menentukan 5-10 pada kolom ke-4, artinya dari bulan ke-5 sampai bulan ke-10. Jika Anda hanya menginginkan bulan ke-5 dan ke-10, Anda harus menggunakan koma.


Linux
  1. Cara menjalankan tugas cron setiap satu jam dan 10 menit

  2. Bagaimana cara mengatur pekerjaan CRON agar berjalan setiap 10 detik di Linux?

  3. bagaimana cara menjalankan cron job setiap 3 bulan?

  1. Cara Menjalankan atau Mengulang Perintah Linux Setiap X Detik Selamanya

  2. Bagaimana Memberitahu Cron Untuk Menjalankan Perintah Setiap Hari (Ganjil/Genap)?

  3. Bagaimana saya bisa menjadwalkan tugas cron yang berjalan setiap 10 detik di linux?

  1. Cara menjalankan pekerjaan cron pada hari-hari tertentu dalam seminggu

  2. Bagaimana cara mengatur tugas cron untuk menjalankan yang dapat dieksekusi setiap jam?

  3. Bagaimana cara menjalankan skrip bash berulang kali setiap N detik?