2010-11-19 7 views
0

Ich bin nicht in der Lage, Exec mit Mail-Befehl für gefundene Dateien zu verwenden.Ausführen eines Befehls für gefundene Datei

# find /etc/ -name my.cnf -mtime 0 -exec mail [email protected] 
find: missing argument to `-exec' 

Überprüfen Sie, ob my.cnf in den letzten 24 Stunden geändert wurde

wenn ja, wie in diesem Fall per E-Mail senden Sie die Datei

, wenn es nicht in der letzten geändert wurde 24 Stunden, nichts tun.

Update:

Der folgende Shell-Skript ist wie erwartet, aber ich werde es als ein Zeilenbefehl wie

#!/bin/sh 
myfile=`find /etc/ -name my.cnf -mtime 0` 
cat $myfile | mail -s "test" [email protected] 

Antwort

1

Es scheint, dass Sie die \ neben der Notwendigkeit; also:

# find /etc/ -name my.cnf -mtime 0 -exec mail [email protected] \; 

oder wie etwa:

# find /etc/ -name my.cnf -mtime 0 | xargs mail [email protected] 

Siehe http://www.softpanorama.org/Tools/Find/using_exec_option_and_xargs_in_find.shtml Weitere Informationen zum Ausführen von Befehlen mit finden

+0

xargs gibt nichts zurück. -exec sendet E-Mails ohne Nachricht. Eine leere Mail wurde gesendet. – shantanuo

Verwandte Themen