[>a2386.html>] [<a2384.html<] [^a2.html^]
Come visualizzo i file di log degli accessi al sistema?
---------
Con:
#
last
[Invio]
e se voglio solo gli ultimi n elementi posso usare:
#
last -m
[Invio]
Chi si occupa in Linux della gestione degli eventi del sistema?
---------
È il demone syslogd configurato dal file /etc/syslogd.conf
che gestisce la registrazione degli eventi importanti. Questi saranno registrati nei file indicati in /etc/syslog.conf
.
Avrei bisogno di controllare i file di log. Come si fa?
---------
Principalmente il meccanismo usato dalla gran parte dei sistemi Unix per registrare le attività del sistema è syslog, anche se alcune macchine Unix hanno dei demoni appositi per fare 'auditing' che creano file di log binari consultabili con appositi programmi proprietari.
Linux, almeno nelle distribuzioni più comuni, usa solo syslog. In genere syslog (ma anche questo dipende dalla distribuzione e può essere cambiato dall'utente) registra tutto nella directory /var/log
, nel file messages.
Red Hat ad esempio registra il comportamento dei demoni in daemon.log sempre in /var/log
, e ha anche altri file di log oltre al consueto messages.
Morale della favola, tutto dipende dalla distribuzione Linux che si usa, ma un:
#
tail -f /var/log/messages
[Invio]
dovrebbe mostrare le ultime righe del file, ed anche quelle che man mano vanno aggiungendosi.
Chiaramente un:
#
more /var/log/messages
[Invio]
permetterà la consultazione di tutto il file di log.
Per fare ricerche sul file di log si può usare qualcosa del genere:
#
cat messages | grep pattern_che_si_vuole_trovare
[Invio]
Esistono comunque vari programmi di utilità che permettono di effettuare resoconti sui log e altre amenità; ti consiglio di cercare su <www.Freshmeat.net>.
Per la pulizia del file di log, alcune distribuzioni hanno in automatico la funzione di 'rotatelog', ovvero rinominare e comprimere il file di log dopo un determinato numero di giorni (chiaramente definibile dall'utente).
La cosa si integra anch'essa con uno dei soliti programmi di utilità reperibili in rete.
Mi sapete dire se esiste un analizzatore di file di log tale che possa cancellare tutti i messaggi di log più vecchi di una certa data? Eventualmente come si realizza uno script che lo faccia?
Ecco il comando:
#
find /var/log -name 'file*' -ctime numero -exec rm {}\;
[Invio]
Ho notato che il file /var/log/wtmp
(che tiene conto delle informazioni sugli accessi dei vari utenti) aumenta drasticamente le sue dimensioni nel corso del tempo. Dato il suo formato particolare (non di testo), esiste un'applicazione per ridimensionarlo?
---------
No, ma puoi fare così:
#
cp wtmp wtmp.old
[Invio]
#
cat /dev/null > wtmp
[Invio]
Per reindirizzare lo standard error su un file (che quindi conterrà gli eventuali errori) digitare:
#
patch < patchfile 2> errori
[Invio]
Come posso visualizzare con calma tutti i messaggi che il sistema fornisce all'avvio? dmesg|less si limita solo ad una porzione di essi.
---------
dmesg ti da solo i messaggi d'avvio del kernel. Per avere tutti i messaggi del sistema da quando è nato guarda in:
#
/var/log/syslog
[Invio]
per i messaggi del sistema e in:
#
/var/log/kern.log
[Invio]
per i log del kernel. Infatti quest'ultimo, insieme a:
#
dmesg
[Invio]
rappresentano i messaggi dell'avvio che stai cercando.
LDR --- Copyright © 1999-2000 Gaetano Paolone -- bigpaul @ pluto.linux.it