diff --git a/WDC_SyncWebCompo.ps1 b/WDC_SyncWebCompo.ps1 index 3affa6e..624d182 100644 --- a/WDC_SyncWebCompo.ps1 +++ b/WDC_SyncWebCompo.ps1 @@ -2,60 +2,63 @@ ####INIZIO DICHIARAZIONE VARIABILI#### +# num gg per cui tenere i log +$Days = "30" +$CutoffDate = (Get-Date).AddDays(-$Days) + #rilevo time per log inizio analisi $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch -$mainStopWatch = [system.diagnostics.stopwatch]::StartNew() +$mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #abilitazione log: 0=disattivo, 1=abilitato $logEnable = 0 #cartella file di log -$WdcLogFolder="c:\Steamware\Logs\WDC\" +$WdcLogFolder = "c:\Steamware\Logs\WDC\" #nome file di log -$logFile = Join-Path $WdcLogFolder "WDC_Log.log" +$dayName = "WDC_" + (Get-Date).toString("yyyy-MM-dd") + ".log" +$logFile = Join-Path $WdcLogFolder $dayName #folder source per robocopy -$sourceFolder = "\\stor01\TEAM DRIVES\30_Clienti\ABH\DataImport\Compo" +$sourceFolder = "U:\NextCloud\ABH\Compo" #folder destination per robocopy -$destFolder = "\\IIS04\WebDoorSync\NewComp\Compo" +$destFolder = "U:\WebDoorSync\NewComp\Compo" + +# ex IIS04 +#$sourceFolder = "\\stor01\TEAM DRIVES\30_Clienti\ABH\DataImport\Compo" +#$destFolder = "\\IIS04\WebDoorSync\NewComp\Compo" ####FINE DICHIARAZIONE VARIABILI#### #dichiaro funzione per scrittura output -Function WriteLogOutput -{ +Function WriteLogOutput { Param ([string]$logString) #scrivo su file la stringa Add-content $logFile -value "$logString" #scrivo su terminale la stringa se $logEnable=1 - if($logEnable -eq 1){ + if ($logEnable -eq 1) { Write-Output($logString) } } #creazione folder di Log se non giĆ  esistente -if (Test-Path $WdcLogFolder) -{ +if (Test-Path $WdcLogFolder) { } -else -{ +else { New-Item $WdcLogFolder -ItemType Directory } #effettuo robocopy -try -{ +try { WriteLogOutput "------WDC SYNC------" - if ($logEnable -eq 1) - { + if ($logEnable -eq 1) { robocopy $sourceFolder $destFolder /mir /log+:$logFile } - else - { + else { WriteLogOutput "" WriteLogOutput "Started: $startTime" WriteLogOutput "Source: $sourceFolder" @@ -64,15 +67,18 @@ try } WriteLogOutput "Robocopy OK" } -catch -{ +catch { WriteLogOutput "An error occurred" } +# elimino file log troppo vecchi +Get-ChildItem -Path $WdcLogFolder -Recurse -File | Where-Object { $_.LastWriteTime -lt $CutoffDate } | Remove-Item -Force +WriteLogOutput "Log Cleanup complete!" + # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() $durataScript = $mainStopWatch.Elapsed.TotalSeconds #scrivo le statistiche WriteLogOutput "Duration: $durataScript seconds" -WriteLogOutput "" \ No newline at end of file +WriteLogOutput ""