Cum să configurezi un task sau bash script să ruleze recurent în Linux ?

Rezolvări și soluții valide pentru diferite cazuri IT. Aici găsiți tutoriale it, tips and tricks și alte informații utile. Nu uita, Like and Share!

Găsești util acest topic ?

DA.
4
100%
NU.
0
Niciun vot
Revin cu feedback pe acest topic.
0
Niciun vot
 
Voturi totale: 4
Avatar utilizator
specialist it
Mesaje: 153
Membru din: 28 Iun 2017, 16:39
4
Contact:

Cum să configurezi un task sau bash script să ruleze recurent în Linux ?

Mesaj de specialist it »

Salut,

Populez acest thread în urma unei solicitări venite din partea unui membru VIP al forumului care dorește să ruleze un bash script file cu recurență în Linux. Soluția în astfel de cazuri este crontab. Personal folosesc crontab-ul pentru administrarea sistemului.

Daemonul cron este un proces de tip job scheduler care permite executarea unor acțiuni la un moment dat în timp. Acțiunile sunt definite în general prin scripturi și sunt rulate de cron la intervale regulate (fiecare este liber sa stabilească perioada de recurență).

Opțiuni crontab de reținut:

crontab -e
# editează crontab-ul user-ului curent (editare similară cu vi editor) sau creează un fișier nou pentru crontab dacă acesta nu există.

crontab -l
# afișează crontab-ul user-ului curent

crontab -r
# șterge crontab-ul user-ului curent

Puteți consulta man crontab pentru lista completă de opțiuni. Pentru a simplifica procesul de creare al unui cron job vă sugerez să utilizați Crontab Generator.
crontab-generator.png
1. Definiți intervalul dorit, apoi în cadrul secțiunii Command To Execute indicați calea scriptului. Exemplu:

Cod: Selectaţi tot

/vol1/user/specialist_it.sh
2. Opțional puteți salva output-ul într-un fișier sau îl puteți trimite direct pe e-mail. Implicit nu returnează un output. Detalii mai jos:
crontab-command-to-execute.png
3. Click pe butonul Generate Crontab Line. Veți obține un cron job. Exemplu:

Cod: Selectaţi tot

0 */12 * */6 0 /vol1/user/specialist_it.sh > /vol1/user/specialist_it.log
4. Accesați mașina de Linux și rulați crontab -e pentru a adăuga cron job-ul (inserare / editare ca în vi editor).
Salvați, apoi verificați dacă job-ul a fost adăugat cu succes: crontab -l .

Pentru a testa job-ul vă sugerez să alegeți recurență la fiecare minut.

Enjoy your cron job! :-)
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Moderator Unic - Forum Specialistul IT
Avatar utilizator
moras_20
Mesaje: 8
Membru din: 30 Dec 2016, 11:06
4

Re: Cum să configurezi un task sau bash script să ruleze recurent în Linux ?

Mesaj de moras_20 »

Salut,

Cum se pot recupera cron job-urile șterse din greșeală de un utilizator dacă administratorul de sistem nu are un backup recent pentru restaurare ?

Mulțumesc
Avatar utilizator
specialist it
Mesaje: 153
Membru din: 28 Iun 2017, 16:39
4
Contact:

Re: Cum să configurezi un task sau bash script să ruleze recurent în Linux ?

Mesaj de specialist it »

Salut,

În acest caz se poate extrage istoricul job-urilor.

Log-ul sau mai bine spus arhiva de log-uri din calea /var/log/cron conține informații despre job-urile care au rulat anterior (înainte de ștergere).

Cod: Selectaţi tot

grep CRON /var/log/cron > output.txt
Folosind informația colectată din log-uri putem reface lista de cron job-uri.

În orice caz pentru a evita astfel de cazuri backup-ul zilnic este recomandat.

/var/spool/cron - în acest director sunt stocate crontab-urile pentru toți utilizatorii.

Sper că vei găsi util răspunsul meu.

Mulțumesc
Moderator Unic - Forum Specialistul IT
Scrie răspuns