De fetchmail en cron à fetchmail en daemon

Il y a quelques temps j'installais fetchmail sur mon serveur OpenBSD et utilisais la méthode cron pour rapatrier régulièrement du courrier présent sur d'autres serveurs mail. Mais hier je me suis rendu compte que cette méthode n'était pas très propre car elle générait des logs envahissants assez rapidement.

J'ai donc cherché comment faire fonctionner fetchmail de manière autonome, en daemon, sans besoin de passer par cron. Voici la méthode :

Supprimer notre planification cron

$ crontab -e

Retirer le @hourly fetchmail

Créer un script rc.d

# vi /etc/rc.d/fetchmail

Mettre :

#!/bin/sh
#
# $OpenBSD: $

daemon="/usr/local/bin/fetchmail -d 3600"
daemon_user="freeman"

. /etc/rc.d/rc.subr

rc_cmd $1

Attention : fetchmail sera lancé avec les droits de l'utilisateur "freeman", car c'est celui-là qui a tous les paramètres des comptes mail à rapatrier. Adaptez le script à votre situation. 3600 est la période de vérification des messages, exprimée en secondes. Donc là c'est 1 heure.

Essai :

# pkill fetchmail
# /etc/rc.d/fetchmail start
fetchmail(ok)
# ps aux | grep fetchmail
freeman    527  0.4  0.6   852  1620 ??  Ss    10:51AM    0:00.04 /usr/local/bin/fetchmail -d 3600

Ajoutez ensuite fetchmail dans votre rc.conf pour qu'il soit lancé au démarrage.

Vus : 1732
Publié par Maniatux : 95