/
/

Come automatizzare la rotazione dei file di log e il reporting dello spazio su disco su tutti i client

di Team Ninja
How to Automate Log File Rotation and Disk Space Reporting Across Clients blog banner image

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

La rotazione dei file di log è un’attività indispensabile negli ambienti enterprise. I file di log crescono naturalmente con il passare del tempo, mentre lo spazio su disco resta limitato. Senza un controllo centralizzato, rischi di accumularne troppi e di rimanere senza spazio per gli altri file. Automatizzare il processo garantisce che i file di log vengano archiviati o eliminati a intervalli regolari, oppure quando l’utilizzo del disco supera una determinata soglia.

Guida all’automazione della rotazione dei file di log e del monitoraggio dello spazio su disco

La rotazione dei log può essere automatizzata con Windows PowerShell. Puoi usare PowerShell anche per raccogliere report sull’utilizzo del disco. Per pianificare le attività, puoi usare il Prompt dei comandi per eseguire uno script PowerShell a intervalli prestabiliti. Negli scenari più complessi, come l’impostazione di soglie di utilizzo del disco, puoi ricorrere a uno strumento RMM.

📌 Prerequisiti:

  • È richiesto PowerShell 5.1 o versione successiva.
  • Servono privilegi completi di amministratore.
  • Serve l’accesso al Registro di sistema per monitorare le impostazioni delle policy e delle applicazioni.
  • Devi pianificare le attività in locale oppure disporre di un’integrazione RMM per eseguire questi script a intervalli regolari.
  • Serve l’accesso ai Criteri di gruppo per applicare le policy di conservazione dei log, quando previsto.

🎥 Questo video spiega passo passo come automatizzare la rotazione dei file di log e il reporting dello spazio su disco su tutti i client.

📌 Strategie di distribuzione consigliate:

Fai clic per scegliere un passaggio💻
Ideale per singoli utenti
💻💻💻
Ideale per le aziende enterprise
Passaggio 1: individua e cataloga le posizioni principali dei file di log✓
Passaggio 2: automatizza la rotazione dei log in base all’età o alle dimensioni✓
Passaggio 3: usa CMD e le attività pianificate per una pulizia di base dei log✓
Passaggio 4: raccogli i report sull’utilizzo del disco con PowerShell✓
Passaggio 5: monitora lo stato della rotazione e lo spazio libero nel Registro di sistema✓
Passaggio 6: applica le policy sui log tramite GPO (dove possibile)✓

Passaggio 1: individua e cataloga le posizioni principali dei file di log

Gli amministratori possono usare Windows PowerShell per elencare il contenuto delle directory di log monitorate più di frequente, come:

  • C:\Windows\System32\LogFiles
  • C:\ProgramData\AppName\Logs\
  • C:\Logs\CustomScripts\
  • C:\inetpub\logs\LogFiles (IIS)
  • Strumenti antivirus, di backup e di monitoraggio (ad esempio SentinelOne, Veeam, NinjaOne)

Per farlo, segui questi passaggi:

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. Distribuisci lo script che creerà i log. Ecco uno script PowerShell di esempio:

$paths = @(

"C:\Windows\System32\LogFiles",

"C:\ProgramData\AppName\Logs",

"C:\Logs",

"C:\inetpub\logs\LogFiles"

)

foreach ($path in $paths) {

Get-ChildItem -Path $path -Recurse -Include *.log |

Select-Object FullName, Length, LastWriteTime

}

Modifica lo script in base alle tue esigenze.

  1. Esporta i file in un file CSV per avere un confronto di riferimento.

Passaggio 2: automatizza la rotazione dei log in base all’età o alle dimensioni

Puoi ruotare i log dopo un determinato numero di giorni. Per farlo, segui questi passaggi:

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. Digita questo script e premi Invio:

$logPath = "C:\ProgramData\AppName\Logs"

$days = 30

Get-ChildItem -Path $logPath -Recurse -Filter *.log |

Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } |

ForEach-Object {

$archive = "$($_.FullName).bak"

Rename-Item -Path $_.FullName -NewName $archive

}

Puoi anche comprimere i log in un file .zip prima dell’archiviazione, oppure eliminarli quando superano una determinata soglia.

Per comprimere i file, distribuisci questo script:

Compress-Archive -Path $archive -DestinationPath "$archive.zip"

Remove-Item -Path $archive

Per eliminare i file di log quando superano una determinata soglia, distribuisci questo script:

Get-ChildItem -Path $logPath -Recurse -Filter *.log |

Where-Object { $_.Length -gt 100MB } |

Remove-Item -Force

Modifica la soglia relativa alle dimensioni dei file in base alle tue esigenze e ai requisiti della tua organizzazione.

Passaggio 3: usa CMD e le attività pianificate per una pulizia di base dei log

Puoi usare il Prompt dei comandi per pianificare un’attività che ripulisca regolarmente i file di log dopo un determinato periodo di tempo. Apri il Prompt dei comandi con autorizzazioni elevate ed esegui il comando. Ecco un comando di esempio che puoi usare:

Per eliminare i log:

forfiles /p "C:\Logs" /s /m *.log /d -30 /c "cmd /c del @path"

Per pianificare un’attività:

schtasks /create /tn "RotateLogs" /tr "powershell.exe -File C:\Scripts\RotateLogs.ps1" /sc weekly /ru SYSTEM

Lo script riportato sopra eseguirà a intervalli prestabiliti un file PowerShell come questo:

Get-ChildItem -Path $logPath -Recurse -Filter *.log |
Where-Object { $_.Length -gt 100MB } |
Remove-Item -Force

Modifica gli script del Prompt dei comandi e di PowerShell su ogni endpoint in base ai requisiti dell’organizzazione e alle policy dei client.

Passaggio 4: raccogli i report sull’utilizzo del disco con PowerShell

Monitorare l’utilizzo del disco ti aiuta a capire quanti log hai generato e se è il momento di iniziare a eliminarli o archiviarli. Per farlo, segui questi passaggi:

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. Digita questo script e premi Invio:

Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{Name="Free(GB)";Expression={[math]::round($_.Free/1GB,2)}}, @{Name="Used(GB)";Expression={[math]::round(($_.Used)/1GB,2)}}

Detailed per folder:

Get-ChildItem "C:\" -Directory |

ForEach-Object {

$_.FullName

(Get-ChildItem $_.FullName -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB

}

  1. Esporta i report.

Passaggio 5: monitora lo stato della rotazione e lo spazio libero nel Registro di sistema

Puoi registrare i risultati delle pulizie dei log nel Registro di sistema di Windows e monitorarne lo stato con uno strumento di gestione degli endpoint.

  1. Apri il menu Start e cerca Windows PowerShell.
  2. Fai clic con il pulsante destro su Windows PowerShell > Esegui come amministratore.
  3. Digita questo script e premi Invio:

New-Item -Path "HKLM:\SOFTWARE\Org\LogRotation" -Force

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\LogRotation" -Name "LastRotation" -Value (Get-Date).ToString("u")

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\LogRotation" -Name "FreeSpaceGB" -Value 120

  1. Per verificare i dati contenuti nelle chiavi del Registro di sistema, apri il Prompt dei comandi come amministratore.
  2. Digita questo comando e premi Invio:

reg query HKLM\SOFTWARE\Org\LogRotation

Passaggio 6: applica le policy sui log tramite GPO (dove possibile)

  1. Apri il menu Start e cerca Modifica Criteri di gruppo per aprire il programma.
  2. Vai al percorso seguente: Configurazione del computer > Modelli amministrativi > Componenti di Windows > Servizio Registro eventi.
  3. Vai su Applicazione, Sicurezza e Sistema per configurare le policy seguenti:
    • Specifica la dimensione massima del file di log (KB) – qui puoi indicare la dimensione massima del log.
    • Configura accesso log – definisce le autorizzazioni di accesso al log di sicurezza.
    • Esegui backup automatico del log quando è pieno – definisce il metodo di conservazione dei log (sovrascrittura o archiviazione).

⚠️ Risoluzione dei problemi e aspetti a cui prestare attenzione

Problema/rischioPossibili conseguenzeSoluzione/ripristino
Si verificano errori di autorizzazione.Non riuscirai a ruotare o eliminare i file di log.Assicurati di eseguire questi script con autorizzazioni elevate.
I file di log sono bloccati.Non riuscirai a ruotare o eliminare i file di log.Verifica handle.exe o riavvia il servizio prima della rotazione o dell’eliminazione. Alcune applicazioni possono impedirti di modificare i propri file di log.
Mancano gli aggiornamenti del Registro di sistema.Non riuscirai a registrare i dati nel Registro di sistema di Windows.Verifica che gli script siano stati eseguiti correttamente e che i percorsi fossero corretti.
Le attività pianificate non si avviano.Non riuscirai a ruotare o eliminare i file di log.Controlla la cronologia dell’Utilità di pianificazione oppure lo stato delle policy nel Prompt dei comandi con gpresult /h result.html.

Guida rapida

NinjaOne offre diverse funzionalità legate alla rotazione dei file di log e al reporting dello spazio su disco:

1. Reporting dello spazio su disco:

È disponibile uno script integrato “Disk Space Alert” che può:

  • inviare avvisi per le unità che scendono sotto una determinata soglia percentuale o dimensionale
  • distinguere tra unità di sistema e unità dati

2. Gestione di log e file:

Diversi script supportano il monitoraggio dei log:

3. Altre funzionalità rilevanti:

  • “Tree Size Report” consente di ottenere l’elenco delle dimensioni delle cartelle di un determinato percorso
  • “System Performance Check” raccoglie i dati sulle prestazioni del sistema, incluse le informazioni sul disco

Altri aspetti da considerare quando automatizzi la rotazione dei file di log e il reporting dello spazio su disco

  • Alcune applicazioni scrivono log a rotazione in modo automatico, mentre altre vanno configurate. Tienine conto quando imposti questi parametri.
  • I clienti soggetti a HIPAA e SOC 2 possono richiedere periodi di conservazione degli archivi più lunghi. In questi casi è consigliabile ruotare i file di log anziché eliminarli.
  • Monitora attentamente le unità. Imposta attivazioni della pulizia dei log quando l’utilizzo raggiunge l’80%-90%.
  • Usa strumenti come NXLog o PowerShell per estrarre gli eventi rilevanti prima della rotazione.

I servizi NinjaOne per la rotazione dei log e il reporting dello spazio su disco

NinjaOne aiuta le organizzazioni a gestire i file di log e lo spazio su disco grazie a queste funzionalità:

FunzioneVantaggioCome semplifica il processo
Distribuzione e pianificazione di script PowerShell per la rotazione dei log.Garantisce una manutenzione dei log coerente su tutti i dispositivi.Automatizza le attività ripetitive, eliminando la necessità di pulizie manuali.
Assegnazione di tag ai dispositivi in base allo spazio libero su disco, al numero di log e all’andamento della crescita.Individua i dispositivi a rischio prima che si verifichino problemi.Offre una visibilità chiara per dare priorità agli interventi dove servono davvero.
Avvisi agli amministratori quando la pulizia non riesce o lo spazio è ridotto.Previene tempi di inattività e problemi di prestazioni.Invia notifiche proattive, così gli amministratori possono intervenire rapidamente.
Generazione di report sull’utilizzo del disco e sulla presenza dei log su tutti i tenantSupporta audit e revisioni trimestrali con dati accurati.Fa risparmiare tempo producendo report di conformità e di business già pronti all’uso.
Attivazione di azioni condizionali (pulizia, notifiche) in base alle soglie.Mantiene i sistemi ottimizzati e conformi.Automatizza la risposta ai problemi senza bisogno di interventi manuali.

Gestisci lo spazio su disco automatizzando la rotazione dei file di log su tutti i dispositivi gestiti

Automatizzare la rotazione dei file di log e il monitoraggio dello spazio su disco è fondamentale per un’IT scalabile. Serve un controllo centralizzato che garantisca che i file di log non superino determinate soglie di utilizzo del disco. In questo modo puoi gestire le risorse in modo più efficiente e assicurarti che la tua organizzazione destini lo spazio su disco a ciò che conta davvero.

Articoli correlati:

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?