Automatizarea sarcinilor de date cu cron

Procesarea datelor în linia de comandă

Susan Sun

Data Person

Ce este un planificator?

  • Planificatorul execută sarcini conform unui program prestabilit
  • Planificatoare comerciale: Airflow, Luigi, Rundeck etc.
  • Planificatorul cron este
    • simplu
    • gratuit
    • personalizabil
    • exclusiv în linia de comandă
    • nativ în MacOS și Linux
Procesarea datelor în linia de comandă

Ce este cron?

Cron:

  • este un planificator de sarcini bazat pe timp
  • este preinstalat în MacOS și Unix
  • poate fi instalat în Windows prin Cygwin sau înlocuit cu Windows Task Scheduler
  • este utilizat pentru automatizarea sarcinilor precum întreținerea sistemului, scripturi bash, sarcini Python etc.
Procesarea datelor în linia de comandă

Ce este crontab?

Crontab este un fișier central pentru gestionarea cron job-urilor.

crontab -l
no crontab for <username>

Documentație:

man crontab
Procesarea datelor în linia de comandă

Adăugarea unui job în crontab

Metoda 1: modificați crontab folosind un editor de text (ex.: nano, Vim, Emacs)

Metoda 2: adăugați comanda planificatorului în crontab prin echo

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

Verificați dacă sarcina este programată corect:

crontab -l
* * * * * python create_model.py
Procesarea datelor în linia de comandă

Programarea unui cron job

Cea mai frecventă programare pentru cron job-uri este un minut.

Descompunerea componentei de timp pentru un cron job:

.---------------- 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
Procesarea datelor în linia de comandă

Programarea unui cron job

*  *  *  *  * python create_model.py

Interpretare:

  • Se execută în fiecare minut al fiecărei ore din fiecare zi a fiecărei luni și din fiecare zi a săptămânii.

  • Pe scurt, se execută în fiecare minut

Resurse suplimentare:

Procesarea datelor în linia de comandă

Să exersăm!

Procesarea datelor în linia de comandă

Preparing Video For Download...