web-dev-qa-db-fra.com

Accès aux journaux de démarrage et d'arrêt

Ma question est inspirée du projet rawhen

Ce projet a utilisé la commande last -R -F reboot (163ème ligne de code source ) pour voir les périodes d’exécution de l’ordinateur. Vous pouvez voir dans la documentation que cette commande nous a permis de regarder par exemple 83 days ago - 447 hours.

original-doc

Le projet n'a pas été mis à jour depuis 4 ans.

Il y a 2 ans, sur ce site, cette question était posée: Comment lire des informations de connexion plus anciennes à l'aide de la "dernière" commande? et la réponse suggère:

last -2000 -f /var/log/wtmp.1                       // 83 lines (28 days)

Si je filtre ceci, j'obtiens.

last -R -F reboot -f /var/log/wtmp.1                // 33 lines (28 days)

mais dans cette réponse, le nombre de lignes proposées est 2000 et il semble y avoir une hypothèse de journaux comme /var/log/wtmp.xx est un nombre.

Dans mon /var/log il n'y a que deux fichiers wtmp:

wc /var/log/wtmp*
    3    19  6144 /var/log/wtmp
   37   253 93696 /var/log/wtmp.1
   40   272 99840 together

Et ces fichiers ne contiennent que des données des 1-2 derniers mois.

Ma question est:

Comment accéder aux journaux les plus anciens, empêcher Ubuntu de les supprimer, ou sauvegarder ces journaux dans un seul fichier (le filtre de redémarrage n’a besoin que), sans problème de concaténation de ces données.

Mon système est Ubuntu 16.04. C'est une édition familiale standard, pas un serveur.

Ce pourrait être un accident, mais je vois que, dans rawhen, il indiquait 478 h quand, le dernier mois, l’ordinateur a été allumé pendant 447 h et ce mois-ci, 10 h. Existe-t-il une heure d'exécution du système après laquelle les journaux sont supprimés?

5
Daniel

Je ne suis pas sûr de bien comprendre votre question, mais pour répondre à ce que vous avez demandé (section en gras), vous devez modifier les configurations logrotate.

Regardez ce fichier:

less /etc/logrotate.conf

il devrait y avoir des lignes comme:

/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

Si vous supprimez ces lignes du fichier, "logrotate" ne supprime plus ce journal, vous pouvez remplacer "mensuel" par "annuel" pour lui permettre de supprimer les fichiers après un an; rotate 1 signifie conserver une sauvegarde avant de supprimer l'ancienne qui se trouve dans:

$ ls /var/log/wtmp*
/var/log/wtmp  /var/log/wtmp.1

Si vous le changez en 2, vous obtiendrez:

$ ls /var/log/wtmp*
/var/log/wtmp  /var/log/wtmp.1  /var/log/wtmp.2
6
Ravexina