2017-10-17 4 views
0

Ich versuche einen einfachen Einzeiler zu erstellen, um zu sehen, ob eine Datei existiert und wenn ja, mailen Sie mir, um mich wissen zu lassen.E-Mail senden Wenn Dateiname existiert

Dies ist der Befehl, den ich suchen bin mit:

find . -name "error_log" 

Im Grunde nur ich verwenden möchte sendmail oder etwas ähnliches schießen mir eine E-Mail, wenn eine error_log-Datei generiert wird. Muss nichts Besonderes sein, nur eine einfache Nachricht wie "Datei existiert".

Gibt es eine einfache Möglichkeit, dies zu tun?

+1

finden ist. -iname 'Dateiname' -exec sendmail 'etwas tun. Suchen Sie auf Google nach find exec und man ist immer Ihr Freund (man finden) –

Antwort

0

Sie können dies versuchen:

#!/bin/bash 

rm /tmp/log 
find . -name "error_log" > /tmp/log 
[[ -s /tmp/log ]] && mail -s 'error logs' [email protected] < /tmp/log 
+0

Ist das nicht begrenzt Suche nach '/ tmp/log'? Ich habe die error_log Dateien in verschiedenen Verzeichnissen erstellt ... – James

+0

Ich habe mehrere Tutorials wie diese gefunden, aber keine von ihnen scheint zu zeigen, wie alle Verzeichnisse zu suchen: https://www.cyberciti.biz/tips/find-out- if-file-exists-with-conditional-expressions.html – James

+0

/tmp/log ist nur eine Datei, die für Ihre Zwecke erstellt wurde ... –

0
find . -name "error_log" | ifne mail -s 'error logs' [email protected] 

ifne Teil moreutils (debian)

Verwandte Themen