Menjadwalkan skrip Anda dengan Cron

Pengantar Bash Scripting

Alex Scriven

Data Scientist

Mengapa menjadwalkan skrip?

 

Banyak situasi di mana penjadwalan skrip berguna:

  1. Tugas rutin yang harus dilakukan: harian, mingguan, beberapa kali per hari.
    • Anda bisa pasang pengingat kalender, tapi bagaimana jika lupa?
  2. Pemakaian sumber daya optimal (menjalankan skrip dini hari)

Menjadwalkan skrip dengan cron penting untuk pemahaman infrastruktur data modern.

Pengantar Bash Scripting

Apa itu cron?

 

Cron telah ada di sistem mirip Unix sejak tahun 70-an. Manusia sudah malas sejak itu!

Namanya berasal dari kata Yunani untuk waktu, chronos.

Cron dikendalikan oleh crontab, yaitu berkas yang berisi cronjob, yang masing-masing memberi tahu crontab kode apa yang dijalankan dan kapan.

Pengantar Bash Scripting

Crontab - penggerak cronjob

 

Anda bisa melihat jadwal (cronjobs) yang sedang diprogram dengan perintah berikut:

crontab -l
crontab: no crontab for user

Sepertinya kita perlu membuat jadwal (cronjob)!

Pengantar Bash Scripting

Struktur crontab dan cronjob

Gambar bagus dari Wikipedia ini menunjukkan cara menyusun cronjob di dalam berkas crontab. Anda bisa punya banyak cronjob, satu per baris.

Struktur crontab

  • Ada 5 bintang untuk diatur, satu per unit waktu
  • Default, * berarti 'setiap'
Pengantar Bash Scripting

Contoh cronjob

Mari telusuri beberapa contoh cronjob:

5 1 * * * bash myscript.sh

  • Bintang menit adalah 5 (5 menit lewat jam). Bintang jam adalah 1 (setelah pukul 1 pagi). Tiga terakhir *, jadi tiap hari dan bulan
    • Ringkasnya: jalan tiap hari pukul 1.05 pagi.

 

15 14 * * 7 bash myscript.sh

  • Bintang menit 15 (15 menit lewat jam). Bintang jam 14 (setelah pukul 2 siang). Dua berikutnya * (Tiap hari dalam bulan, tiap bulan). Bintang terakhir hari ke-7 (Minggu).
    • Ringkasnya: jalan tiap Minggu pukul 2.15 siang.
Pengantar Bash Scripting

Struktur cronjob lanjutan

Jika Anda ingin menjalankan sesuatu beberapa kali per hari atau tiap kenaikan waktu "X", ini juga bisa:

  • Gunakan koma untuk interval spesifik. Contoh:
    • 15,30,45 * * * * akan berjalan pada menit 15, 30, dan 45 untuk jam apa pun yang ditentukan oleh bintang kedua. Di sini artinya tiap jam, tiap hari, dst.
  • Gunakan garis miring untuk 'tiap kelipatan X'. Contoh:
    • */15 * * * * berjalan tiap 15 menit. Juga tiap jam, hari, dst.
Pengantar Bash Scripting

Cronjob pertama Anda

Mari jadwalkan skrip bernama extract_data.sh untuk berjalan tiap pagi pukul 1.30. Langkah-langkahnya:

  1. Di terminal ketik crontab -e untuk mengedit daftar cronjob Anda.
    • Mungkin menanyakan editor yang ingin dipakai. nano mudah dan kurva belajarnya lebih landai daripada vi (vim).
  2. Buat cronjob-nya:
    • 30 1 * * * extract_data.sh
Pengantar Bash Scripting

Cron job pertama Anda

  1. Keluar dari editor untuk menyimpannya

Jika menggunakan nano (di Mac), gunakan ctrl + o lalu enter lalu ctrl + x untuk keluar.

Anda akan melihat pesan crontab: installing new crontab

  1. Cek apakah sudah ada dengan menjalankan crontab -l.
30 1 * * * extract_data.sh

Kerja bagus!

Pengantar Bash Scripting

Ayo berlatih!

Pengantar Bash Scripting

Preparing Video For Download...