Cara mengeksekusi pekerjaan interval kurang dari 1 menit menggunakan penjadwal berbasis waktu cron

- 4919
- 580
- Daryl Hermiston DVM
Penjadwal berbasis waktu Linux Cron secara default tidak melakukan pekerjaan dengan interval yang lebih pendek dari 1 menit. Konfigurasi ini akan menunjukkan kepada Anda trik sederhana cara menggunakan penjadwal berbasis waktu cron untuk menjalankan pekerjaan menggunakan interval detik. Mari kita mulai dengan dasar -dasar. Pekerjaan cron berikut akan dieksekusi setiap menit:
* * * * * Tanggal >> /tmp /cron_test
Pekerjaan di atas akan dieksekusi setiap menit dan memasukkan waktu saat ini ke dalam file /tmp/cron_test
. Sekarang, itu mudah! Tapi bagaimana jika kita ingin menjalankan pekerjaan yang sama setiap 30 detik? Untuk melakukan itu, kami menggunakan cron untuk menjadwalkan dua pekerjaan yang persis sama tetapi kami menunda pelaksanaan pekerjaan kedua menggunakan tidur
Perintah selama 30 detik. Misalnya:
* * * * * Tanggal >> /tmp /cron_test * * * * * tidur 30; Tanggal >> /tmp /cron_test
Apa, yang terjadi di atas adalah bahwa Cron Scheduler mengeksekusi kedua pekerjaan pada saat yang sama, namun, pekerjaan cron kedua akan memiliki 30 detik eksekusi shell tertunda. Menggunakan ide yang sama di atas, kami juga dapat menjadwalkan interval eksekusi pekerjaan cron 15 detik:
* * * * * tidur 15; Tanggal >> /tmp /cron_test * * * * * tidur 30; Tanggal >> /tmp /cron_test * * * * * tidur 45; Tanggal >> /tmp /cron_test * * * * * tidur 60; Tanggal >> /tmp /cron_test
Sekarang, bagaimana dengan 5 detik? Sama di sini tapi itu akan sedikit lebih mengetik jadi saya sarankan untuk menggunakan bash untuk loop untuk menghasilkan daftar cron kami. Perintah Linux berikut akan membuat daftar cron untuk dieksekusi Tanggal >> /tmp /cron_test
dalam interval 5 detik:
# untuk saya dalam $ (SEQ 5 5 60); do (crontab -l; echo " * * * * * tidur $ i; tanggal >> /tmp /cron_test") | crontab -; Selesai
Menggunakan crontab -l
Untuk melihat semua pekerjaan yang dijadwalkan cron Anda:
# crontab -l # m h dom mon dow perintah * * * * * tidur 5; Tanggal >> /tmp /cron_test * * * * * tidur 10; Tanggal >> /tmp /cron_test * * * * * tidur 15; Tanggal >> /tmp /cron_test * * * * * tidur 20; Tanggal >> /tmp /cron_test * * * * * tidur 25; Tanggal >> /tmp /cron_test * * * * * tidur 30; Tanggal >> /tmp /cron_test * * * * * tidur 35; Tanggal >> /tmp /cron_test * * * * * tidur 40; Tanggal >> /tmp /cron_test * * * * * tidur 45; Tanggal >> /tmp /cron_test * * * * * tidur 50; Tanggal >> /tmp /cron_test * * * * * tidur 55; Tanggal >> /tmp /cron_test * * * * * tidur 60; Tanggal >> /tmp /cron_test
Selanjutnya, periksa /tmp/cron_test
berkas keluaran:
# Cat /TMP /Cron_Test Sabtu 20 Agustus 06:32:06 UTC 2016 Sabtu 20 Agustus 06:32:11 UTC 2016 Sabtu 20 Agustus 06:32:16 UTC 2016 Sabtu 20 Agustus 06:32:21 UTC 2016 Sabtu 20 Agustus 06 : 32: 26 UTC 2016 Sabtu 20 Agustus 06:32:31 UTC 2016 Sabtu 20 Agustus 06:32:36 UTC 2016 Sabtu 20 Agustus 06:32:41 UTC 2016 Sabtu 20 Agustus 06:32:46 UTC 2016 Sabtu 20 Agustus 06 : 32: 51 UTC 2016 Sabtu 20 Agustus 06:32:56 UTC 2016 Sabtu 20 Agustus 06:33:01 UTC 2016 Sabtu 20 Agustus 06:33:06 UTC 2016 Sabtu 20 Agustus 06:33:11 UTC 2016 Sabtu 20 Agustus 06 : 33: 16 UTC 2016 Sabtu 20 Agustus 06:33:21 UTC 2016
Tutorial Linux Terkait:
- Cara menjalankan perintah secara berkala dengan anacron di linux
- Cara membuat pekerjaan cron di kubernetes
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Cara mengatur tanggal dan waktu di almalinux
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Cara mengatur crontab untuk mengeksekusi setiap 5 menit
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Waktu skrip dan prosedur bash Anda dari dalam kode
- Cara mengatur/mengubah zona waktu di almalinux
- Cara Rollback Pacman Pembaruan di Arch Linux