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.