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
Nici un vot
Revin cu feedback pe acest topic.
0
Nici un vot
 
Voturi totale: 4

Avatar utilizator
specialist it
Mesaje: 95
Membru din: 28 Iun 2017, 16:39
Aprecieri acordate: 4 ✔
Aprecieri primite: 45 ✔
Contact:

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

Mesaj de specialist it » 18 Oct 2017, 15:12

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: Selectează 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: Selectează 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 subiect.


Moderator Unic - Forum Specialistul IT

Avatar utilizator
moras_20
Mesaje: 8
Membru din: 30 Dec 2016, 11:06
Aprecieri acordate: 1 ✔

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

Mesaj de moras_20 » 19 Oct 2017, 15:10

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: 95
Membru din: 28 Iun 2017, 16:39
Aprecieri acordate: 4 ✔
Aprecieri primite: 45 ✔
Contact:

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

Mesaj de specialist it » 19 Oct 2017, 18:13

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: Selectează 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

Utilizatori online

Utilizatori care navighează pe acest forum: Nici un utilizator înregistrat și 0 vizitatori

Subiecte active