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
.
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.x
où x
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?
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