Rotation des log

Pour mettre en place la rotation des log des serveurs MongoDB, il faut ajouter des entrées au service de crontab  :

  • soit directement dans le fichier /etc/crontab 
  • soit dans un fichier nommé /etc/cron.d/mongodb_logs ( par exemple )

RHEL / CentOS 7 et RHEL / Alma / Rocky 8 et RHEL / Alma / Rocky 9

Pour les systèmes d'exploitation utilisant une distribution RHEL / Alma / Rocky il faut ajouter les entrées suivantes :

# A 3h01 on demande à mongo, mongos et mongo-configsrv de tourner son fichier de log
1 3 * * * root test -e /var/run/mongodb/mongod.pid && kill -USR1 `cat /var/run/mongodb/mongod.pid`
1 3 * * * root test -e /var/run/mongodb/mongos.pid && kill -USR1 `cat /var/run/mongodb/mongos.pid`
1 3 * * * root test -e /var/run/mongodb/mongo-configsrv.pid && kill -USR1 `cat /var/run/mongodb/mongo-configsrv.pid`

#A 3h02 on supprime les logs plus vieux de 7jours
2 3 * * * root find /var/log/mongodb/ -name "*.log.*" -type f -mtime +7 | xargs /bin/rm -f

Et ensuite recharger le service:

systemctl reload crond

Debian 13

Pour les systèmes d'exploitation utilisant une distribution Debian 13, il faut ajouter les entrées suivantes

# A 3h01 on demande à mongo, mongos et mongo-configsrv de tourner son fichier de log
1 3 * * * root test -e /var/run/mongod.pid && kill -USR1 `cat /var/run/mongod.pid`
1 3 * * * root test -e /var/run/mongos.pid && kill -USR1 `cat /var/run/mongos.pid`
1 3 * * * root test -e /var/run/mongo-configsrv.pid && kill -USR1 `cat /var/run/mongo-configsrv.pid`

#A 3h02 on supprime les logs plus vieux de 7jours
2 3 * * * root find /var/log/mongodb/ -name "*.log.*" -type f -mtime +7 | xargs /bin/rm -f

Et ensuite relancer le service:

systemctl restart cron