Comment spécifier des exceptions à partir des configurations de caractères generics dans un file de configuration logrotable?

Pour mes files journaux, j'ai le problème de tous les files, sauf un (ou quelques), utilisent la même configuration, tandis que le rest a un autre. J'ai essayé de le réaliser en donnant une configuration générale pour tous les files, puis en écrasant cette configuration pour les quelques files spécifiques plus tard, par exemple:

/var/log/mylogs/*.log { size 1000k copytruncate create 0644 root root rotate 99 compress missingok } /var/log/mylogs/thatonespecial.log { size 1000k copytruncate create 0644 myuser mygroup rotate 99 compress missingok } 

Cependant, cela soulève une erreur:

 error: /var/log/mylogs/logrotate.conf:10 duplicate log entry for /var/log/mylogs/thatonespecial.log 

Comment puis-je gérer une telle situation correctement? Je ne veux certainement pas énumérer le grand nombre de files journaux standard, de sorte que l'utilisation de la configuration du caractère générique me semble raisonnable. Mais comment puis-je spécifier une exception parmi les files generics?

3 Solutions collect form web for “Comment spécifier des exceptions à partir des configurations de caractères generics dans un file de configuration logrotable?”

La réponse la plus élégante est de mettre thatonespecial.log dans un directory distinct afin qu'il ne puisse pas correspondre au caractère générique.

Si cela ne fonctionnera pas, vous pouvez utiliser globs pour réduire votre joker. C'est désordonné, mais si vous ne pouvez absolument pas déplacer l'location du file, c'est probablement votre seule option réelle. Quelque chose comme ça:

 /var/log/mylogs/[!t][!h]*.log 

Associerait tous les files .log avec au less 2 caractères dans leur nom qui ne commencent pas avec "th".

Il semble que l'écrasement des règles a été mis en place et fonctionne maintenant:

 $ logrotate --version logrotate 3.8.7 $ cat /etc/logrotate.d/test # rotate application logs for 40 days by default /home/myapp/log/*.log /home/myapp/log/*/*.log { daily compress delaycompress rotate 40 } # rotate access logs for 1 year /home/myapp/log/access/*.log { daily compress delaycompress rotate 365 } $ logrotate -d /etc/logrotate.d/test reading config file /etc/logrotate.d/test Handling 2 logs rotating pattern: /home/myapp/log/*.log /home/myapp/log/*/*.log after 1 days (40 rotations) empty log files are not rotated, old logs are removed No logs found. Rotation not needed. rotating pattern: /home/myapp/log/access/*.log after 1 days (365 rotations) empty log files are not rotated, old logs are removed No logs found. Rotation not needed. 

Alors que lorsque j'ai été testé sur mon logrotate local (version 3.7.8), l'erreur a été soulevée:

 $ cat logr.conf # rotate application logs for 40 days by default /home/myapp/log/*.log /home/myapp/log/*/*.log { daily compress delaycompress rotate 40 } # rotate access logs for 1 year /home/myapp/log/access/*.log { daily compress delaycompress rotate 365 } $ logrotate -d logr.conf reading config file logr.conf reading config info for /home/myapp/log/*.log /home/myapp/log/*/*.log error: logr.conf:12 duplicate log entry for /home/myapp/log/access/api_access.log error: found error in /home/myapp/log/access/*.log , skipping removing last 1 log configs ... 

Si vous connaissez les noms de tous les journaux, vous pouvez également les spécifier set dans une règle:

 /var/log/mylogs/{file1,file2,file3,file4,file5}.log { size 1000k copytruncate create 0644 root root rotate 99 compress missingok } /var/log/mylogs/thatonespecial.log { size 1000k copytruncate create 0644 myuser mygroup rotate 99 compress missingok } 
  • Serveur Ubuntu PPTPD avec clients OS X Problèmes
  • Hyper-V Ubuntu Networking Problems Copie de grandes quantités de données
  • Récupération de l'espace dont «Df» devrait être disponible
  • Quel user devrait exécuter le process du gunicorn?
  • Supprimer apache de ubuntu
  • Installation de apache2 ssl - ubuntu
  • Telnet sans passwords
  • quelles permissions dois-je donner à un dossier sur apache lorsqu'il exige des permissions d'écriture et d'exécution
  • Client OpenVPN sur Amazon EC2 conduisant à la déconnection SSH
  • Modification avec Winscp
  • Comment ignorer les dependencies non remplies lors de l'utilisation d'apt-get supprimer?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.