Problème Dovecot s'arrête tous seul

Bonjour à tous,

Vachement novice dans linux, j’ai un serveur chez OVH. Cependant j’ai dovecot qui s’arrête sans raison par moment, je souhaiterais une solution pour vérifier toute les minutes si il tournes et le relancer si pas.

Pouvez vous m’aider?

Par exemple un script de ce type :

#!/bin/sh while true; do if [ "$(ps axo comm |grep dovecot)" != "dovecot" ]; then dovecot & fi sleep 60 done exit 0
C’est un exemple hein, il y a forcément mieux ou alors faut adapter (genre avec munin, ou un script plus propre)

Il faudrait voir si les logs de dovecot t’indiquent pourquoi il s’arrête, ça te permettrait de régler le problème à la source. Sinon, tu peux lancer le service via /etc/inittab :

(cf man inittab).

Ou, notamment si tu veux surveiller plusieurs services, tu peux utiliser des solutions comme monit ou daemontools (il doit en exister d’autres).

Bonsoir et un grand merci pour vos réponses!

Pour les logs je ne sais pas vous dire, car hélas je m’en rend compte par après et souvent occupé a quelque choses je le relance simplement… mais j’ai décidé de m’attaquer au problème aujourd’hui.

Cependant j’ai récupéré ça dans les logs :

[quote]Apr 19 21:39:48 ********* dovecot: Dovecot v1.2.15 starting up (core dumps disabled)
Apr 19 21:39:48 *********/master[2970]: daemon started – version 2.7.1, configuration /etc/postfix
Apr 19 21:38:27 ********/dovecot: Fatal: Time just moved backwards by 86 seconds. This might cause a lot of problems, so I’ll just kill myself now. wiki.dovecot.org/TimeMovedBackwards[/quote]

Je ne sais pas si c’est la cause, bien qu’il me semble que la dernière fois c’était bien le 19… par contre je ne me souviens pas avoir changer l’heure le 19 :confused: mais bon dans le doute, ca feras une sécurité en plus de savoir que quelque choses relancera les mails si il se coupe :stuck_out_tongue:

Question idiote je vais chercher, mais on l’utilise comment le script ? :’(

[quote=“Bladinium”]mais j’ai décidé de m’attaquer au problème aujourd’hui.
[/quote]
C’est sans aucun doute le mieux à faire :wink:
Si tu veux qu’on t’aide là dessus, change le titre du fil en éditant ton premier message ou ouvres-en un nouveau.

Le script (et c’est bof bof comme solution hein! Je préfère le redire), il faut copier ce texte dans un fichier, par exemple script.sh. Ensuite, le rendre éxécutable avec chmod +x script.sh, puis le lancer : ./script.sh. (juste pour la culture générale). Un script est en fait une suite de commandes regroupées dans un fichier, pour éviter de tout retaper à chaque fois.

Merci :slightly_smiling:

j’ai renommé le topic en “Problème dovecot s’arrête tous seul”

Quand a mon problème, je voie qu’il y a eu un backwards de 86sec, donc non je n’ai pas changer l’heure pour 1 min 26 O_o

Dans le webmin j’ai ceci mais il n’est pas activé il me semble :

Vous avez une idée?

Je vais quand même utilisé ton script, au cas ou :stuck_out_tongue: même si il y a mieux, ça pourras surement me dépannée!

EDIT 1 :
j’ai testé le script, malgrée que vous avez marquer “Chmox” et que je suis nul^^ j’ai quand même supposé que c’était chmod^^ lorsque je le lance sous putty, il me bloque la fenetre (un screen ca s’appel je croit ^_^’) du coup j’ai peur de le mettre en démarrage dans “Actions de démarrage et d’arrêt” de webmin

EDIT 2 :

Fatal: Dovecot is already running with PID 14361 (read from /var/run/dovecot/master.pid)
Fatal: Dovecot is already running with PID 14361 (read from /var/run/dovecot/master.pid)
Fatal: Dovecot is already running with PID 14361 (read from /var/run/dovecot/master.pid)

Dans putty

Bien vu, c’est corrigé.
Oui, le script tourne en démon, il faut le lancer via les initscripts à la limite, mais comme je l’ai déja dit, c’est très bancal comme solution.

Ton EDIT 2 semble indiquer que le script tente de lancer dovecot alors qu’il est déja actif. C’est mon test (entre les [ ]) qui est foireux. Souci, je n’ai pas dovecot sur ma machine pour tester… :confused:

Merci pour ta réponse!

J’ai penser a une commande CRON, cependant aucune idée du comment procédé pour lancer le service toute les minutes, sans pour autant crée des problèmes toutes les minutes non plus :confused:

C’est assez embêtant car forcément quand dovecot se coupe ben y a plus de mail :stuck_out_tongue: donc soit je suis au courant via une personnes qui me le signale soit quand je veut envoyer un mail :confused:

Il faudrait surtout régler la cause du problème : le décalage de l’horloge :stuck_out_tongue:

Bonjour,

Oui j’ai essayer de voir, mais franchement j’en sais foutre rien O_o même sur le site de dovecot il donne ceci que j’ai effectuer :

[code]#!/bin/sh

HOST=‘localhost’
#PORT=110
PORT=143
#HP=@$HOST:$PORT
HP=:$PORT
echo 'Checking to see if Dovecot is up…'
if ( /usr/sbin/lsof -Pni $HP | grep “$PORT (LISTEN)” 2>&1 >/dev/null ); then
echo ‘Dovecot is up’;
else
echo ‘Dovecot is down, restarting…’;
/etc/init.d/dovecot restart
logger -p mail.info dovecot_check_restart.sh restarting Dovecot
fi[/code]

Et l’exécuter en tache cron tous les temps voulue, j’ai mis toute les minutes pour être sur!

Maintenant si vous me dite ou regarder je veux bien, mais dans les logs que je vous ai montrer car parle d’un retour de 87 Secondes… je ne sais même pas réglé les secondes sur mon webmin :confused:

Et actuellement OVH subit de gros problèmes sous leurs VPS2013

Merci de vos réponses :slightly_smiling:

[quote=“Bladinium”]Merci pour ta réponse!
J’ai penser a une commande CRON, cependant aucune idée du comment procédé pour lancer le service toute les minutes, sans pour autant crée des problèmes toutes les minutes non plus :confused:
[/quote]
Ah ben oui, c’est pas con du tout ça comme idée! Il suffit d’enlever la ligne avec le while et le done pour ça.
Ensuite, pour ajouter une tache cron, tape :

Afin de lancer le service toutes les minutes, la ligne sera la suivante :

*/1 * * * * /chemin/vers/le/script.sh >/dev/null 2>&1
Là encore, pour la culture. Car c’est agentsteel qui a raison, il faut résoudre le problème à la source. Ça sert à rien de donner des calmants pour la douleur, faut enlever la douleur! (bon après, je ne sais pas comment t’aider pour ça, désolé :confused:)

Vérifier s’il y a le démon ntp (ou ntpdate) installé.

Je débute, aucune idée! j’ai chercher dans les processus actif je ne l’ai pas trouver.

j’ai Debian Linux 6.0.6 squeeze

Mon vps est un VPS2013 Cloud de chez ovh

Merci de vos réponses

Si la commande suivante retourne un numéro, c’est que ntp tourne :

(oui oui, il y a bien le “d”)

Sinon, il faut l’installer :

Cela permet d’être synchrone avec des serveurs de temps. Pratique pour un serveur!

hello,

Ca ne retourne rien, pas de commande invalide ca me fait un retour a la ligne un peu comme chmod.

Par contre dans le webmin j’ai ceci :
puu.sh/2ER06.png

Qui rempli la même fonction sauf qu’il faut configurer le serveur de temps et je ne sais pas quoi mettre ^^

Mais au vu de l’erreur, c’est bien qu’il est syncro avec un serveur, car ça dit "Retour en arriéré de 87sec, ce qui en sois matériellement c’est impossible. c’est que le serveur a du se syncro avec une horloge quelque part, si non il est impossible de faire un retour de quelque secondes?. Si ?

si la commande pidof ne retourne rien, c’est qu’il (ntpd) n’est pas lancé/installé.

donc on l’installe :

et laisse désactivée la gestion du temps dans webmin.

le démon ntp une fois installé, s’occupe tout seul de la synchro à intervalles réguliers.

Donc voilà =) ça ma retourner l’heure de 11h06 à 11h04.

Salut,
dovecot-et-ntpdate-t33260.html?hilit=ntpdate#p336232

Edit

Salut,

Je me suis arrêté à ce log…[quote=“Bladinium”]Fatal: Time just moved backwards by 86 seconds[/quote]Et Dovecot n’aime pas du tout les changements brutaux d’heure…

Je vois à tes captures que tu utilises Webmin. Méfie toi, il ne colle pas toujours très bien aux fichiers de configuration de Debian, ça peut poser des problèmes…