Bonjour,
Je fais appel à vous car malgré mes recherches, je ne trouve pas de solution à mon problème.
Je souhaite exécuter un script toutes les 30 minutes. Pour cela j'utilise "crontab"
Mon script :
Mon crontab :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #!/bin/bash SUJET1="Serveur_Zabbix_Processus_Manquant" SUJET2="Serveur_Zabbix_Processus_Defunct" MAIL="azerty@qwerty.fr" TEST1=`ps fax | grep zabbix_server | wc -l` TEST2=`ps fax | grep zabbix_server | grep defunct | wc -l` if [ $TEST1 -lt 40 ]; then /bin/mail -s $SUJET1 $MAIL < message_server.txt echo "PROBLEME" elif [ $TEST1 -ge 10 ] && [ $TEST2 -ge 1 ]; then /bin/mail -s $SUJET2 $MAIL < message_server.txt echo "PROBLEME" else echo "Process OK" fi
Ici, je stipule que je veux que le script s'execute toutes les minutes afin de tester son fonctionnement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part */1 * * * * root sh /home/zabbix/server_check.sh > /dev/null 2>&1
Lorsque je lance le script à la main, je recois bien un mail, mais via la crontab, rien du tout.
J'ai essayé sans le "sh" et sans le "root" dans la ligne de la crontab mais toujours rien.
Dans le fichier de log, j'ai bien ceci toutes les minutes :
Si vous auriez une idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part crond[13652]: (root) CMD (root sh /home/zabbix/server_check.sh > /dev/null 2>&1)
Merci,
Malik.
Partager