Bash Pagina 105: Diferență între versiuni
Admin (discuție | contribuții) |
Admin (discuție | contribuții) |
||
Linia 31: | Linia 31: | ||
<code>< /tmp/output.txt</code> trimite conținutul fișierului /tmp/output.txt ca text al mesajului. | <code>< /tmp/output.txt</code> trimite conținutul fișierului /tmp/output.txt ca text al mesajului. | ||
'''Notă:''' Pentru ca acest script să funcționeze corect, utilitarele apt și mail trebuie să fie configurate și disponibile pe sistemul unde este rulat. | '''Notă:''' Pentru ca acest script să funcționeze corect, utilitarele ''apt'' și ''mail'' trebuie să fie configurate și disponibile pe sistemul unde este rulat. | ||
[[Bash_Pagina_104|Pagina anterioară]] | [[Bash_Pagina_106|Următoarea pagină]] | [[Bash_Pagina_104|Pagina anterioară]] | [[Bash_Pagina_106|Următoarea pagină]] |
Versiunea curentă din 30 octombrie 2024 13:24
trap elementar pentru cleanup
#!/bin/bash trap "rm -f /tmp/output.txt" EXIT apt -y update > /tmp/output.txt if grep -qi "kernel" /tmp/output.txt; then mail -s "KERNEL UPDATED" user@domeniu.com < /tmp/output.txt fi
Trap: trap "rm -f /tmp/output.txt" EXIT
Comanda trap setează o acțiune care va fi executată când scriptul iese. Aici, trap va șterge fișierul temporar /tmp/output.txt la ieșirea din script, asigurându-se că fișierul nu rămâne pe disc după rularea scriptului.
Actualizare: apt -y update > /tmp/output.txt
Comanda apt -y update
actualizează lista de pachete disponibile. Opțiunea -y face ca apt să accepte toate întrebările de tip „yes” automat.
Redirecționarea > /tmp/output.txt
trimite ieșirea comenzii în fișierul temporar /tmp/output.txt, unde va fi analizată în pașii următori.
Căutarea în ieșire: if grep -qi "kernel" /tmp/output.txt; then
grep -qi "kernel" /tmp/output.txt
caută cuvântul "kernel" în fișierul /tmp/output.txt.
- Opțiunea -q face ca grep să fie silențios (nu afișează nimic, doar întoarce codul de ieșire 0 dacă găsește o potrivire).
- Opțiunea -i permite căutarea să fie insensibilă la majuscule.
Dacă "kernel" este găsit în ieșire, înseamnă că kernel-ul a fost actualizat, deci condiția if va evalua ca adevărată și va executa comanda din blocul then.
Trimiterea emailului: mail -s "KERNEL UPDATED" user@domeniu.com < /tmp/output.txt
Dacă kernel-ul a fost actualizat, comanda mail este folosită pentru a trimite un email la user@domeniu.com cu subiectul "KERNEL UPDATED". mail -s specifică subiectul emailului, iar user@domeniu.com este adresa destinatarului.
< /tmp/output.txt
trimite conținutul fișierului /tmp/output.txt ca text al mesajului.
Notă: Pentru ca acest script să funcționeze corect, utilitarele apt și mail trebuie să fie configurate și disponibile pe sistemul unde este rulat.