Bash Pagina 105: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
 
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.

Pagina anterioară | Următoarea pagină