Elimina i vecchi file x giorni e invia un'email se è stata eseguita


2

Ho uno script che funziona rimuovendo i file x giorni e mantenere le cartelle. Sto cercando di inviare una e-mail una volta terminata la cancellazione. Qualche consiglio? Lo script attuale è qui sotto:

#!/bin/bash
find /testftp/* -type f -mtime +10 -exec rm {} \;
UBJECT="FTP Cleanup"
EMAIL="myemail@somewhere.com"
EMAILMESSAGE="IT WORKS"
/bin/mail -s "$SUBJECT" "$EMAIL" "$EMAILMESSAGE"

Non funziona? Stai vedendo un errore o cosa?
Zoredache

Quello è SUBJECTno UBJECT.
Daniel Beck

Risposte:


2

Un problema: hai sbagliato a scrivere SUBJECT, ma l'unico problema che causerà è che il messaggio avrà un oggetto vuoto.

Il problema più grande è questo /bin/mail legge il corpo del messaggio dallo standard input, non da un argomento della riga di comando.

Prova questo:

SUBJECT="FTP Cleanup"
EMAIL="myemail@somewhere.com"
EMAILMESSAGE="IT WORKS"
echo "$EMAILMESSAGE" | /bin/mail -s "$SUBJECT" "$EMAIL"

Oppure, per un messaggio più lungo:

SUBJECT="FTP Cleanup"
EMAIL="myemail@somewhere.com"
/bin/mail -s "$SUBJECT" "$EMAIL" <<EOF
Message body line 1
Message body line 2
Message body line 3
EOF

Funziona Keith! Grazie anche per aver segnalato questo errore. Saluti!
JoyIan Yee-Hernandez
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.