In unele situatii, este necesar sa putem trimite un mail in mod automat, fara interventia utilizatorului, de exemplu ca o sarcina crontab
Comanda mail ne permite sa facem acest lucru, cu un pic de programare bash. Copiaza scriptul de mai jos intr-un fisier, si nu uita sa-l faci executabil…
#!/bin/bash
subiect="Subiectul mailului"
destinatar="utilizator@domeniu.com"
echo "Prima linie a mailului" > tempmail.txt
echo "A doua linie a mailului" >> tempmail.txt
echo "A treia linie ">>tempmail.txt
/bin/mail -s "$subiect" "$destinatar" <tempmail.txt
rm tempmail.txt
Marius spus
as vrea sa trimit un mail automat, sa zicem o data in zi cu niste loguri de la un server ftp, imi poti da vreo idee?? multumesc
sttux spus
@Marius
Mai intai modifici scripul incat sa trimita logul dorit de tine. O varianta ar fi:
#!/bin/bash
subiect=”Subiectul mailului”
destinatar=”utilizator@domeniu.com”
cat /var/log/fis1 > tempmail.txt
cat /var/log/fis2 >> tempmail.txt
cat /var/log/fis3 >>tempmail.txt
/bin/mail -s “$subiect” “$destinatar” <tempmail.txt
rm tempmail.txt
Sa zicem ca salvezi scriptul in: /usr/bin/trimite-mail.sh
Trimiterea efectiva o adaugi ca sarcina in crontab. Pentru asta, dai comanda crontab -e si adaugi linia:
30 12 * * * /usr/bin/trimite-mail.sh
Scriptul va rula in fiecare zi, la ora 12:30.
Cam asta ar fi