@echo off rem ********************************************************************* rem * * rem * NOME SCRIPT: backup.cmd * rem * * rem * Script scritto da Alessandro Tani * rem * * rem * Versione 1.0 - Modificato l'ultima volta il 05/08/2005 * rem * da Alessandro Tani * rem * SCOPO: * rem * * rem * Questo script ha il compito di eseguire un ciclo di backup * rem * su un disco * rem * * rem * File di log: %BKPDIR%\%COMPUTERNAME%-%DataeOra%.log * rem * * rem * PREREQUISITI: * rem * * rem * Il file DELDIR.EXE deve essere copiato all'interno di una * rem * cartella locale della macchina (%BINPATH%) * rem * * rem * TESTO: * rem * * rem * Nessuno * rem * * rem ********************************************************************* rem Calcoliamo la data e l'ora di esecuzione dello script for /f "Tokens=1-4 Delims=/ " %%i in ('date /t') do set DATA=%%l-%%j-%%k-%%i for /f "Tokens=1" %%i in ('time /t') do set ORA=-%%i set ORA=%ORA::=-% set DATAeORA=%DATA%%ORA% rem Impostiamo le variabili set BINPATH=C:\Bin\Exe set BKPDISK=C: set BKPDIR=%BKPDISK%\Backup\Files set BKPLIST="@%BKPDISK%\Backup\Selections\Backup Test.bks" set LOGDIR=%BKPDISK%\Backup\Logs set LOGSRC="C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\backup*.log" set LOGFILE=%LOGDIR%\Freespace-%DATAeORA%.log set DAYDEL=2 set FREESPACE=50GB set DeviceName="Full Backup File Daily" set MediaName="Local Backup Full" set JobName="# Local Backup Full Daily" rem Controlliamo la presenza dei file necessari all'esecuzione if not exist %WINDIR%\system32\ntbackup.exe goto NONTBACKUP if not exist %BINPATH%\deldir.exe goto NODELDIR if not exist %WINDIR%\system32\freedisk.exe goto NOFREEDISK rem Controlliano se nel disco di backup esiste abbastanza spazio freedisk /D %BKPDISK% %FREESPACE% if errorlevel 1 goto NOSPACE :CONTINUE %WINDIR%\system32\ntbackup.exe backup %BKPLIST% /n %MediaName% /d %DeviceName% /v:no /r:yes /rs:no /hc:off /m normal /j %JobName% /l:s /f "%BKPDIR%\%COMPUTERNAME%-%DATAeORA%.bkf" move %LOGSRC% "%LOGDIR%\%COMPUTERNAME%-%DATAeORA%.log" goto END :NOSPACE echo Poichè lo spazio disponibile è inferiore ai %FREESPACE%. > %LOGFILE% echo Provvediamo a cancellare i file più vecchi di %DAYDEL% giorni >> %LOGFILE% echo che si trovano nelle cartelle %BKPDIR% e %LOGDIR% >> %LOGFILE% %BINPATH%\deldir %BKPDIR% %DAYDEL% %BINPATH%\deldir %LOGDIR% %DAYDEL% goto CONTINUE :NONTBACKUP set TMPLOG=%LOGDIR%\NoNTBackup.log echo Non è stato possibile trovare il file %WINDIR%\system32\ntbackup.exe > %TMPLOG% echo pertanto lo script non può essere eseguito. >> %TMPLOG% echo Controllare che il percorso del file ntbackup.exe sia corretto. >> %TMPLOG% goto END :NODELDIR set TMPLOG=%LOGDIR%\NoDelDir.log echo Non è stato possibile trovare il file %BINPATH%\deldir.exe > %TMPLOG% echo pertanto lo script non può essere eseguito. >> %TMPLOG% echo Controllare che il percorso del file deldir.exe sia corretto. >> %TMPLOG% goto END :NOFREEDISK set TMPLOG=%LOGDIR%\NoFreeDisk.log echo Non è stato possibile trovare il file %WINDIR%\system32\freedisk.exe > %TMPLOG% echo pertanto lo script non può essere eseguito. >> %TMPLOG% echo Controllare che il percorso del file freedisk.exe sia corretto. >> %TMPLOG% goto END :END exit