===Mi script de backup para DAR=== Dar es una utilidad de backup que, a diferencia del backup de microsoft o de los que incluyen algunos antivirus: * Se puede usar desde cualquier sistema operativo * No cambia completamente entre versiones, de forma que se pueden recuperar backups antiguos en un equipo nuevo (intente a recuperar un backup de Windows 95 en un Windows 2000, o uno de Windows 2000 en un Windows Vista!) * Admite scripting. El problema de DAR es que es muy complicado de usar, así que pondré aquí el script que, personalmente empleo. Este script: * Hace una copia de seguridad de las carpetas del usuario. * Guarda cada backup en una carpeta con fecha. * Hace un registro de todas las acciones * Permite usar una contraseña. * Crea un primer backup total y todos los demás son incrementales. IMPORTANTE: Este script requiere las extensiones de comando de CMD (Windows NT), específicamente: * SET X=%A:B=C% (Convierte cualquier aparición de B dentro de A en C) * FOR /F "delims=" (Lee las entradas de FOR desde un fichero, utilizando delimitadores personalizados). path %PATH%;"C:\programs\dar\dar64-2.4.10-i386-windows" rem SET PASSWORD FROM PRIVATE FILE call %userprofile%\gpg\backuppassword.bat if "%backuppassword%"=="" set /p backuppassword=Escribe la contraseña set CYGWIN=mintty rem Convertimos los separadores de fecha rem y hora en caracteres admitidos en nombres rem de archivo y PATH set DATETIME=%DATE%-%TIME% set DATETIME=%DATETIME:/=-% set DATETIME=%DATETIME::=.% set DATETIME=%DATETIME:,=.% rem en %DATE%, los números son de 2 cifras, rem pero en %TIME% se usa un espacio ante rem la primera cifra entre las 0 y las 9 horas... set DATETIME=%DATETIME:- =-0% rem IMPORTANTE - USAR MINUSCULAS EN LA SIGUIENTE: set BACKUPDIRMSDOS=d:\backup set BACKUPDIR=%BACKUPDIRMSDOS::\=/% set BACKUPDIR=%BACKUPDIR:\=/% set BACKUPDIR=/cygdrive/%BACKUPDIR% rem No puedo usar simplemente "temp*" porque excluiría, por ejemplo, "templates". rem unos programas usan temp y otros Temp set prunelist=-P */temp/* set prunelist=%PRUNELIST% -P */Temp/* rem Temporary internet files, etc. set prunelist=%PRUNELIST% -P */Temporary* rem unos usan Cache, AppCache y otros cache, nnnCache. rem y lo que es peor, otros usan Cachennn... set prunelist=%PRUNELIST% -P */*Cache/* set prunelist=%PRUNELIST% -P */*cache/* set prunelist=%PRUNELIST% -P */*CACHE/* set prunelist=%PRUNELIST% -P */*Cache[^A-z]*/* set prunelist=%PRUNELIST% -P */*cache[^A-z]*/* set prunelist=%PRUNELIST% -P */*CACHE[^A-z]*/* rem Los siguientes archivos se excluyen por su extensión rem Descargas parciales Chrome: set prunelist=%PRUNELIST% -X *.crdownload if not exist %BACKUPDIRMSDOS%\initialbackup*.* goto initialbackup :incrementalbackup rem INCREMENTAL BACKUP for /F "delims==" %%i in (%BACKUPDIRMSDOS%\lastbackup.txt) do set lastbackup=%%i set BACKUPFILE=%BACKUPDIR%/%DATETIME%/incremental%DATETIME% rem Crea subdirectorio para cada backup, sliced. mkdir %BACKUPDIRMSDOS%\%DATETIME% echo Creating %BACKUPFILE% echo ***** DIFFERENTIAL BACKUP START *****>>%BACKUPDIRMSDOS%\backup.log echo Using dar -c %BACKUPFILE% -s 512M -A %lastbackup% -@ %BACKUPFILE%.catalog -v -R /cygdrive/c/users -z %PRUNELIST% -D -K bf:"password" >>%BACKUPDIRMSDOS%\backup.log dar -c %BACKUPFILE% -s 512M -A %lastbackup% -@ %BACKUPFILE%.catalog -v -R /cygdrive/c/users -z %PRUNELIST% -D -K bf:"%backuppassword%" >>%BACKUPDIRMSDOS%\backup.log dar -t %BACKUPFILE% -K bf:"%backuppassword%" -v >>%BACKUPDIRMSDOS%\backup.log rem En caso de error, evita que se cambie el archivo lastbackup.txt if not exist %BACKUPFILE%.catalog.1.dar goto :end echo %BACKUPFILE%.catalog >%BACKUPDIRMSDOS%\lastbackup.txt goto :end :initialbackup rem INITIAL BACKUP set BACKUPFILE=%BACKUPDIR%/%DATETIME%/initialbackup%DATETIME% rem Crea subdirectorio para cada backup, sliced. mkdir %BACKUPDIRMSDOS%\%DATETIME% echo Creating %BACKUPFILE% echo ***** INITIAL BACKUP START *****>>%BACKUPDIRMSDOS%\backup.log echo Using dar -c %BACKUPFILE% -s 512M -@ %BACKUPFILE%.catalog -v -R /cygdrive/c/users -z %PRUNELIST% -D -K bf:"password" >>%BACKUPDIRMSDOS%\backup.log dar -c %BACKUPFILE% -s 512M -@ %BACKUPFILE%.catalog -v -R /cygdrive/c/users -z %PRUNELIST% -D -K bf:"%backuppassword%" >>%BACKUPDIRMSDOS%\backup.log dar -t %BACKUPFILE% -K bf:"%backuppassword%" -v >>%BACKUPDIRMSDOS%\backup.log echo %BACKUPFILE%.catalog >%BACKUPDIRMSDOS%\lastbackup.txt :end