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 } 
  • Configuration d'Apache sur Ubuntu vers des sous-domaines de server sur LAN
  • Ubuntu Permet aux users d'accéder à la command "écran" des racines, restreint également les écrans qu'ils peuvent attacher à
  • Pourquoi Ubuntu / Linux / proc / mount me ment-il?
  • Comment puis-je searchr rapidement tout mon système de files dans ubuntu?
  • Dovecot ne peut pas voir le dir de la maison d'user
  • Pourquoi les citations et autres caractères non alphanumériques ne sont-ils pas correctement rendus lorsque I ssh?
  • Php-fpm affiche "fail" au démarrage
  • Hyper-V: Surveillez et redémarrez les invités hyper-v qui ne répondent pas
  • Expérience de latence élevée avec le server sans charge de server ni latence de routeur local
  • PHP7.0 montrant en text clair
  • Configurez initramfs-tools pour append curl à l'initramfs et exécutez curl dans un script au démarrage pendant qu'il est intitrd dans Ubuntu 10.04 Server
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.