2010-11-19 5 views
0

Je ne peux pas utiliser la commande exec with mail sur les fichiers trouvés.Exécution d'une commande sur le fichier trouvé

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

Vérifiez si my.cnf a été changé au cours des 24 dernières heures

si oui, comme dans ce cas, envoyer le fichier par e-mail

si elle n'a pas été modifiée dans le dernier 24 heures, ne faites rien.

Mise à jour:

Le script suivant fonctionne comme prévu, mais je tiens tout comme la commande d'une ligne

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

Répondre

1

Il semble que vous avez besoin de \ à côté du; ainsi:

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

ou que diriez-vous:

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

Voir http://www.softpanorama.org/Tools/Find/using_exec_option_and_xargs_in_find.shtml pour plus d'informations sur l'exécution des commandes avec FIND

+0

xargs ne retourne rien. -exec enverra le courrier mais sans message. Un mail vide a été envoyé. – shantanuo

Questions connexes