Je souhaite spécifier un fichier qui n'est pas une certaine chaîne de caractères comme cible logrotate, mais est-ce impossible?

Chose que tu veux faire

Je souhaite spécifier ce qui suit dans le fichier de paramètres logrotate.

/etc/logrotate.d/nanika_no_service


/var/log/nanika_no_service/【"aiueo"Autre que les journaux commençant par].log {
    monthly
}

/var/log/nanika_no_service/aiueo.log {
    daily
}

Le résultat de l'enquête

Cela semble impossible. Inévitablement, compromis ci-dessous.

/etc/logrotate.d/nanika_no_service


/var/log/nanika_no_service/[!a]*.log {
    monthly
}

/var/log/nanika_no_service/a*.log {
    daily
}

Raison

https://github.com/logrotate/logrotate/blob/master/logrotate.c https://github.com/logrotate/logrotate/blob/master/config.c

Selon le code source, glob est utilisé pour rechercher des fichiers en rotation. Donc, j'ai aussi lu les spécifications de glob, mais il n'y avait aucun moyen d'écrire «autres que des caractères multiples», bien qu'il y ait un guide pour les caractères génériques «autres que des caractères uniques».

C'est pourquoi dans la spécification du fichier logrotate.conf

/var/log/nanika_no_service/【"aiueo"Autre que les journaux commençant par].log {
    #Abréviation
}

La conclusion à ce jour est qu'il ne peut pas être écrit comme ci-dessus. Y a-t-il un bon moyen?

Contexte

Je souhaite faire pivoter un seul type de journal dans des conditions différentes pour les journaux du même répertoire. C'est pourquoi j'ai enquêté là-dessus. Dans l'exemple ci-dessus, ʻaiueo.log` correspond à cela.

mais attendez un instant. Ne serait-il pas préférable d'écrire comme suit sans utiliser «[!]»?

/etc/logrotate.d/nanika_no_service


/var/log/nanika_no_service/*.log {
    monthly
}

/var/log/nanika_no_service/aiueo.log {
    daily
}

Je suis d'accord. Je m'y attendais aussi. Mais malheureusement, c'est NG.

Le paramètre logrotate ne fonctionne pas correctement avec les doublons. Si vous faites ce qui précède, ʻaiueo.logsera également inclus dans* .log et il y aura des paramètres en double. Dans de telles conditions, une erreur se produira au moment de l'exécution, ou ʻaiueo.log suivra également le réglage de * .log (selon l'ordre de réglage, mais oubliez quelle séquence sera quel comportement). J'ai fait).

en conclusion

Dans cet article, j'ai vérifié s'il était possible d'exprimer «autre que plusieurs caractères» dans la spécification du journal cible de logrotate. Malheureusement, je n'ai pas encore trouvé de moyen de le faire.

Bonne chance.

Recommended Posts

Je souhaite spécifier un fichier qui n'est pas une certaine chaîne de caractères comme cible logrotate, mais est-ce impossible?
Je veux diviser une chaîne de caractères avec hiragana
[Question] Je veux gratter une chaîne de caractères entourée de balises uniques!
J'ai essayé de générer une chaîne de caractères aléatoire
Le fichier édité avec vim était en lecture seule, mais je veux le sauvegarder
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
Je veux ajouter du silence pendant 1 seconde au début d'un fichier wav
J'ai essayé d'installer un pilote pour une carte réseau qui n'est pas reconnue par Linux
Je pensais qu'il serait lent d'utiliser l'instruction for dans NumPy, mais ce n'était pas le cas.
ForeignKey est défini pour CustomUser spécifié dans AUTH_USER_MODEL dans Django, mais il n'est pas référencé.
Je souhaite intégrer une variable dans une chaîne Python
[Ansible] Exemple de playbook qui ajoute une chaîne de caractères à la première ligne du fichier
Je veux réfuter "Ce n'est pas cool en Ruby"
Je veux échantillonner au hasard un fichier avec Python
[Linux] Lorsque vous souhaitez rechercher une chaîne de caractères spécifique dans plusieurs fichiers
Je veux dire qu'il y a un prétraitement des données ~
Création d'un outil qui facilite la définition des paramètres des modèles d'apprentissage automatique
Je ne veux pas rechercher de para haut parce que c'est IQ1 (comment utiliser lightgbm_tuner)
Je souhaite convertir une chaîne de caractères ISO-8601 en heure japonaise
Je veux créer un Dockerfile pour le moment.
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
Je veux créer un fichier pip et le refléter dans le menu fixe
Python vba pour créer une chaîne de date pour créer un nom de fichier
Comment saisir une chaîne de caractères en Python et la sortir telle quelle ou dans la direction opposée.
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
J'ai essayé de mettre en œuvre un apprentissage en profondeur qui n'est pas profond avec uniquement NumPy
Je veux tweeter Twitter avec Python, mais j'y suis accro
J'ai fait une IA pour juger si c'est de l'alcool ou non!
Mayungo's Python Learning Episode 6: J'ai essayé de convertir une chaîne de caractères en nombre
Je veux colorer une partie de la chaîne Excel avec Python
J'ai essayé d'utiliser eval (a, b) pour Fibonacci, mais ce n'était pas rapide
Je pense que c'est une perte de ne pas utiliser le profileur pour le réglage des performances
J'ai senti que la simulation d'objet était plus facile à voir via un patch.
Je veux imprimer dans la notation d'inclusion
Je veux créer un environnement Python
[Python] Comment inverser une chaîne de caractères
Je veux obtenir le chemin du répertoire où le fichier en cours d'exécution est stocké.
Je souhaite afficher uniquement différentes lignes du fichier texte avec diff
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
Une histoire qui parfois ne marche pas si pip est le dernier
Je veux juste ajouter scipy, mais c'est un mémo amusant. Ubuntu, Python 3.
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Je veux déposer un fichier sur tkinter et obtenir son chemin [Tkinter DnD2]
Quand j'ai essayé de créer un VPC avec AWS CDK mais que je n'ai pas pu le faire
J'ai essayé d'expliquer à quoi sert le générateur Python aussi facilement que possible.
Je veux créer un lecteur de musique et enregistrer de la musique en même temps
Je souhaite créer une application WEB en utilisant les données de League of Legends ①
[Linux] Vous ne disposez pas des privilèges root. Mais je veux yum installer.
J'ai essayé de créer une fonction de dictionnaire insensible à la casse
Le programme Python est lent! Je veux accélérer! Dans ce cas ...
Une bibliothèque pour la science des données "Je veux faire ça" sur le bloc-notes Jupyter
J'ai essayé de créer OneHotEncoder, qui est souvent utilisé pour l'analyse des données, afin qu'il puisse atteindre l'endroit qui démange.