2017-10-17 43 views
0

J'essaye de configurer un simple doublure pour rechercher si un fichier existe et si c'est le cas, m'envoie un email pour me le faire savoir.Envoyer un e-mail Si le nom de fichier existe

C'est la commande que je utilise pour la recherche:

find . -name "error_log" 

Fondamentalement, je veux juste utiliser sendmail ou quelque chose de similaire à me tirer un email si un fichier error_log est généré. N'a pas besoin d'être quelque chose de fantaisie, juste un simple message comme "Fichier existe".

Existe-t-il un moyen simple de faire cela?

+1

trouver. -iname 'nom de fichier' -exec sendmail 'fait quelque chose. Rechercher sur google pour trouver exec et man est toujours votre ami (man find) –

Répondre

0

Vous pouvez essayer ceci:

#!/bin/bash 

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

Est-ce que cela ne limite pas à '/ tmp/log'? J'ai les fichiers error_log en cours de création dans divers répertoires ... – James

+0

J'ai trouvé plusieurs tutoriels comme celui-ci, mais aucun d'entre eux ne semble montrer comment rechercher tous les répertoires: https://www.cyberciti.biz/tips/find-out- if-file-exists-with-conditions-expressions.html – James

+0

/tmp/log est juste un fichier créé pour répondre à vos besoins ... –

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

ifne fait partie de moreutils (debian)