GNU/Linux >> Belajar Linux >  >> Linux

CronJob setiap 25 menit

Perintah di crontab dijalankan dengan /bin/sh sehingga Anda dapat menggunakan perluasan aritmatika untuk menghitung apakah modulo 25 menit saat ini sama dengan nol:

*/5 * * * * [ $(( $(date +\%s) / 60 \% 25 )) -eq 0 ] && your_command

cron akan menjalankan seluruh entri ini setiap 5 menit, tetapi hanya jika menit saat ini (dalam menit sejak zaman) modulo 25 sama dengan nol akan menjalankan your_command .

Seperti yang telah ditunjukkan orang lain, 1 hari tidak habis dibagi 25 menit, jadi ini tidak akan menyebabkan your_command untuk berjalan pada waktu yang sama setiap hari, tetapi akan jalankan setiap 25 menit.


Taruhan terbaik Anda adalah berlari pada 20 menit atau 30 menit.

Cara terbaik berikutnya adalah memicu setiap 5 menit, lalu menyimpan penghitungan internal atau stempel waktu, dan menjalankan setiap pemicu ke-5, atau jika 25 menit telah berlalu sejak proses terakhir.

Yang lebih rumit adalah menentukan waktu yang tepat untuk sehari, mulai tengah malam, dan menerima kesalahan di penghujung hari. Ini akan melibatkan duplikasi entri crontab ke jam yang berbeda.

Lebih rumit dari itu adalah menghitung waktu selama sebulan penuh, yang akan melibatkan banyak salinan entri crontab untuk mencakup kombinasi yang berbeda.

Terakhir, Anda dapat mengimplementasikan always on daemon Anda sendiri, dan memintanya melakukan penjadwalan.


Saya tidak memiliki pengalaman langsung dengannya, tetapi fcron tampaknya melakukan apa yang Anda inginkan di luar kotak. Menurut dokumentasinya, Anda dapat menentukan frekuensi:

# Get our mails every 30 minutes 
@ 30 getmails -all 

# make some security tests every 48 hours of system up time, 
# force a mail to be sent to root even if there is no output 
@mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh

Linux
  1. Linux – Jalankan Script Setiap 30 Menit Dengan Systemd?

  2. MySQLdump tanpa kata sandi di cronjob

  3. Menggunakan WGET untuk menjalankan cronjob PHP

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

  2. Cara menjalankan crontab job setiap minggu di hari minggu

  3. Bagaimana menjalankan tugas cron pada jam tertentu setiap hari?

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

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

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