Où se trouve le fichier journal de rc.local?


52

J'ai quelques commandes à dans mon rc.local. Je sais qu'ils échouent. Comment puis-je obtenir un fichier journal avec les messages produits en exécutant rc.local? Où est-il situé?

J'ai vérifié le /var/log/boot.log. Je sais que mes messages ne sont pas là car je sais déjà quelle est la raison de l'échec. Mais je veux toujours être sûr du fichier journal.

Remarque, je ne veux pas relancer le script, je pourrais mais je ne veux pas. Je préférerais analyser ce qui s'est passé lors du démarrage.

Merci pour toute aide.

Ubuntu 12.04 Desktop (si cela compte)

Réponses:


59

Sauf si une commande a une sortie ou une journalisation déjà configurée, les rc.localcommandes ne se connecteront nulle part.

Si vous voulez voir les journaux pour des commandes spécifiques, essayez de rediriger stdout et stderr pour rc.localquelque part , vous pouvez vérifier. Essayez d'ajouter ceci en haut de votre /etc/rc.localfichier:

exec 1>/tmp/rc.local.log 2>&1  # send stdout and stderr from rc.local to a log file
set -x                         # tell sh to display commands before execution

Bien que cela nécessite de réexécuter le rc.localfichier.


3
exec &> /tmp/rc.local.logest suffisant au lieu des deux appels à la direction :-)
AjayKumarBasuthkar

2
@ abu-bua: Faites attention lorsque vous passez en revue les suggestions de modification qui introduisent des modifications fonctionnelles! &>la redirection est un bash-isme et échoue silencieusement dans Dash et d'autres implémentations «simples» d' /bin/shinterpréteurs comme celle utilisée pour rc.local.
David Foerster

"au sommet" signifie-t-il avant la première ligne !/bin/sh -e?
Ben le


10

Avec systemd, rc.local est considéré comme un service pour lequel systemd collecte les journaux. Vous pouvez les revoir avec:

systemctl status rc.local.service

Vous pouvez voir les erreurs (si elles existent) dans le journal de service.


2

Regarder dans

  1. /var/log/messages
  2. /var/log/daemon

Ou utilisez la commande dmesg

less /var/log/boot.log
less /var/log/dmesg
grep error /var/log/dmesg
grep <your expected error string> /var/log/boot.log

Ou utilisez scriptou utilisez un autre outil pour capturer une connexionrc.local

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.