Script vérification processus en cours

Bonjour,

j’ai réalisé un script qui s’exécute tous les jours sur mon serveur Debian.

il envoie par mail a l’administrateur la liste de tous les processus interdits qui tournent sur le serveur.

Pour cela j’ai créé un fichier texte listant des processus interdits (fichier nommé “procinterdit”) et j’ai pris un processus au hasard pour exemple.

Je liste tous le processus en cours que j’envoie dans un autre fichier texte(fichier nommé “procencours”) puis je fait la différence entre les 2 fichiers ce qui me permet d’obtenir les processus interdits en cours de fonctionnement dans un dernier fichier (fichier nommé “difference”)

Enfin j’envoie par mail à un des mes utilisateurs la liste des processus interdits en cours c’est a dire le contenu du fichier “difference”

J’aimerais toutefois que le mail ne soit envoyé à l’administrateur qu’en cas de processus interdit lancé et non systématiquement. En effet, pour l’instant le mail est envoyé même si aucun processus interdit n’est lancé.

Voici le contenu de mon script :

#!/bin/sh

ps -a > /home/john/procencours
diff procencours procinterdit > difference
cat difference | mail -s “Processus interdits en cours” jean@rosea-phoenix.org

Je pense qu’il faudrait contrôler que le fichier “difference” soit vide et n’envoyer le mail qu’au cas ou il n’est pas vide. Seulement, je ne vois pas comment l’incorporer dans mon script.

Merci d’avance

Il y a une/des discussion(s) en cours dans la section Programmation du forum, tu y trouveras sûrement ton bonheur.
Je pense qu’il suffit de tester si le fichier a une taille non-nulle.

Sinon, évite de donner ton email sur un forum.

Arnaud K a raison.
Je te conseille de poster dans “programmation” en précisant tout, comme tu l’as fait ici et en mettant ton script complet en code.
Prends bien garde d’ouvrir un fil différent.

Salut

Tu peux utiliser test
voir : man test