Est-il possible d'exécuter manuellement une itération de logrotate sans la planifier à intervalles réguliers?
Oui: logrotate --force $CONFIG_FILE
logrotate -d [your_config_file]
appelle le mode de débogage, vous donnant une description détaillée de ce qui se produira, mais en laissant les fichiers journaux intacts.
Si vous souhaitez forcer l'exécution d'un seul répertoire ou des fichiers journaux d'un démon, vous pouvez généralement trouver la configuration dans /etc/logrotate.d
et ils fonctionneront de manière autonome.
N'oubliez pas que la configuration globale spécifiée dans /etc/logrotate.conf
ne s'appliquera pas. Par conséquent, vous devez vous assurer de spécifier toutes les options souhaitées dans le fichier /etc/logrotate.d/[servicename]
config.
Vous pouvez l'essayer avec -d
pour voir ce qui se passerait:
logrotate -df /etc/logrotate.d/nginx
Ensuite, vous pouvez exécuter (en utilisant nginx comme exemple):
logrotate -f /etc/logrotate.d/nginx
Et les seuls journaux nginx seront soumis à une rotation.
Vous voudrez peut-être l'exécuter en mode verbose + force.
logrotate -vf /etc/logrotate.conf
La façon d’exécuter tout logrotate est la suivante:
logrotate -f /etc/logrotate.conf
qui exécutera le fichier logrotate principal, qui comprend également les autres configurations logrotate
Émettez la commande suivante, la manière d'exécuter logrotate spécifié:
logrotate -vf /etc/logrotate.d/custom
Les options:
-v: montre le processus
-f: forçage de l'exécution
personnalisé: paramètre de journal défini par l'utilisateur
par exemple: mongodb-log
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
editez /var/lib/logrotate.status pour réinitialiser la date de la dernière rotation du fichier journal que vous souhaitez tester.
Puis lancez logrotate YOUR_CONFIG_FILE
.
Vous pouvez également utiliser l’option --force, mais l’édition de logrotate.status vous donne plus de précision sur ce qui est tourné et ce qui ne l’est pas.
Création d'un script shell pour résoudre le problème.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
Ce script n'exécutera que le fichier de sous-configuration logrotate unique se trouvant dans "/etc/logrotate.d", mais inclura les paramètres globaux à partir du fichier de configuration globale "/etc/logrotate.conf". Vous pouvez également utiliser d'autres otpions pour le tester ...
Par exemple...
logrotate_one -d syslog