Linux System Inventory and Baseline
Jump to navigation
Jump to search
Questa pagina raccoglie comandi utili per creare uno snapshot strutturato dello stato del sistema Linux, utile per:
- troubleshooting
- audit tecnico
- confronto nel tempo (baseline)
- analisi post-incidente
Processi in esecuzione
Il seguente comando genera un file del tipo:
processes_nomehost_YYYYMMDD_HHMMSS.txt
Il file contiene:
- intestazione con hostname e timestamp ISO 8601
- comando eseguito (per ripetibilità)
- elenco dei processi in formato ad albero (forest)
- ordinamento per PPID
out="./processes_$(hostname -s)_$(date +'%Y%m%d_%H%M%S').txt"
cmd=(ps -eo pid:8,ppid:8,pcpu:8,nlwp:8,pmem:8,rss:12,drs:12,size:12,lstart:24,cmd --forest --sort=ppid)
{
printf '# host=%s time=%s\n' "$(hostname -f 2>/dev/null || hostname)" "$(date -Iseconds)"
printf '# '
printf '%s ' "${cmd[@]}"
printf '\n\n'
"${cmd[@]}"
} > "$out"
Servizi di sistema
Il seguente comando genera un file del tipo:
services_nomehost_YYYYMMDD_HHMMSS.txt
Il file contiene:
- intestazione con hostname e timestamp ISO 8601
- comando eseguito (per ripetibilità)
- elenco completo dei servizi gestiti da systemd
- servizi attivi, inattivi, falliti o disabilitati
out="./services_$(hostname -s)_$(date +'%Y%m%d_%H%M%S').txt"
cmd=(systemctl list-units --type=service --all)
{
printf '# host=%s time=%s\n' "$(hostname -f 2>/dev/null || hostname)" "$(date -Iseconds)"
printf '# '
printf '%s ' "${cmd[@]}"
printf '\n\n'
"${cmd[@]}"
} > "$out"
Memoria e swap
Il seguente comando genera un file del tipo:
memory_nomehost_YYYYMMDD_HHMMSS.txt
Il file contiene:
- intestazione con hostname e timestamp ISO 8601
- comando eseguito (per ripetibilità)
- stato della memoria RAM
- stato dello swap
out="./memory_$(hostname -s)_$(date +'%Y%m%d_%H%M%S').txt"
cmd=(free -h)
{
printf '# host=%s time=%s\n' "$(hostname -f 2>/dev/null || hostname)" "$(date -Iseconds)"
printf '# '
printf '%s ' "${cmd[@]}"
printf '\n\n'
"${cmd[@]}"
} > "$out"
Filesystem montati
Il seguente comando genera un file del tipo:
filesystems_nomehost_YYYYMMDD_HHMMSS.txt
Il file contiene:
- intestazione con hostname e timestamp ISO 8601
- comando eseguito (per ripetibilità)
- elenco dei filesystem montati
- tipo di filesystem
- spazio totale, utilizzato e disponibile
- percentuale di utilizzo
- punto di mount
out="./filesystems_$(hostname -s)_$(date +'%Y%m%d_%H%M%S').txt"
cmd=(df -hT)
{
printf '# host=%s time=%s\n' "$(hostname -f 2>/dev/null || hostname)" "$(date -Iseconds)"
printf '# '
printf '%s ' "${cmd[@]}"
printf '\n\n'
"${cmd[@]}"
} > "$out"
Dispositivi a blocchi
Il seguente comando genera un file del tipo:
blockdevices_nomehost_YYYYMMDD_HHMMSS.txt
Il file contiene:
- intestazione con hostname e timestamp ISO 8601
- comando eseguito (per ripetibilità)
- elenco dei dispositivi a blocchi
- relazione tra dischi, partizioni e mount point
out="./blockdevices_$(hostname -s)_$(date +'%Y%m%d_%H%M%S').txt"
cmd=(lsblk -f)
{
printf '# host=%s time=%s\n' "$(hostname -f 2>/dev/null || hostname)" "$(date -Iseconds)"
printf '# '
printf '%s ' "${cmd[@]}"
printf '\n\n'
"${cmd[@]}"
} > "$out"