Automatizace datových úloh pomocí cron

Data Processing in Shell

Susan Sun

Data Person

Co je plánovač?

  • Plánovač spouští úlohy podle předem stanoveného rozvrhu
  • Komerční plánovače: Airflow, Luigi, Rundeck atd.
  • Plánovač cron je
    • jednoduchý
    • zdarma
    • přizpůsobitelný
    • čistě příkazový řádek
    • nativní pro MacOS a Linux
Data Processing in Shell

Co je cron?

Cron:

  • je časově řízený plánovač úloh
  • je předinstalován v MacOS a Unix
  • lze nainstalovat ve Windows přes Cygwin nebo nahradit Plánovačem úloh Windows
  • slouží k automatizaci úloh jako správa systému, bash skripty, Python úlohy atd.
Data Processing in Shell

Co je crontab?

Crontab je centrální soubor pro správu cron úloh.

crontab -l
no crontab for <username>

Dokumentace:

man crontab
Data Processing in Shell

Přidání úlohy do crontab

Metoda 1: úprava crontab pomocí textového editoru (např. nano, Vim, Emacs)

Metoda 2: vložení příkazu plánovače do crontab pomocí echo

echo "* * * * * python create_model.py" | crontab

Ověření správného naplánování úlohy:

crontab -l
* * * * * python create_model.py
Data Processing in Shell

Časování cron úlohy

Nejčastější frekvence cron úloh je jedna minuta.

Rozbor časové složky cron úlohy:

.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed ...
|  |  |  |  |
*  *  *  *  * command-to-be-executed
Data Processing in Shell

Časování cron úlohy

*  *  *  *  * python create_model.py

Interpretace:

  • Spustit každou minutu každé hodiny každého dne každého měsíce a každého dne v týdnu.

  • Zkráceně: spustit každou minutu

Další zdroje:

Data Processing in Shell

Pojďme procvičovat!

Data Processing in Shell

Preparing Video For Download...