Quando você tem um grupo de computadores de usuários finais em uma rede, é importante ter certeza de que os arquivos armazenados localmente nos respectivos computadores serão copiados em caso de falha no disco rígido. Manter programas de backup, configurações e, possivelmente, suportar custos em cada máquina pode ser um problema real, então, como uma alternativa, temos uma solução simples: um script que, quando executado, espelha os dados locais para um local de rede comum.
Como funciona
Tanto a configuração quanto o processo de espelhamento são muito simples e são assim:
- Crie e compartilhe uma pasta na sua rede onde você gostaria que os arquivos do usuário fossem armazenados. Os usuários precisarão de acesso de leitura e gravação a essa pasta.
- Coloque o script de backup no compartilhamento de rede.
- Agende uma tarefa no computador de cada usuário para executar o script de backup do compartilhamento de rede.
- O script espelha os documentos armazenados na máquina local para o compartilhamento de rede.
O script utiliza a ferramenta Microsoft RoboCopy e cria automaticamente a estrutura de pastas “/ Computer Name / User Name” dentro da pasta de rede para que os documentos do usuário não sejam sobrepostos uns aos outros.
O script
@ECHO OFF TITLE Local Documents Backup ECHO Local Documents Backup ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM RoboCopy.exe must be present on the client machine in a folder specified in the PATH variable. REM For Windows Vista and later have this tool included, but Windows XP and earlier should download REM this tool from Microsoft and place it in the Windows folder of their machine. REM Root folder where backup files should be stored. REM To use the directory containing this script, use: %~dp0 SET BackupDir=%~dp0 REM Message to users: ECHO. ECHO Running Local Documents Backup. ECHO. ECHO Do not close this window, it will close automatically when finished. ECHO You can safely minimize this window and continue working. ECHO. ECHO. REM Destination= Specified Backup FolderComputer NameWindows User Name REM Create required folders if they do not exist SET BackupDir=%BackupDir%%ComputerName% SET BackupDir=%BackupDir:=% IF NOT EXIST '%BackupDir%' MKDIR '%BackupDir%' SET BackupDir=%BackupDir%%UserName% IF NOT EXIST '%BackupDir%' MKDIR '%BackupDir%' SET LogFile='%BackupDir%%ComputerName%-%UserName%_BackupLog.txt' ECHO %ComputerName% Backup Starting > %LogFile% ECHO. >> %LogFile% ECHO. REM Call BackupDirectory with a relative folder name in the %UserProfile% directory REM To view available directories, run this from the command prompt: REM DIR %UserProfile% REM Add more directories as needed (i.e. 'Downloads', 'Favorites', etc.) ECHO Backing up Documents… REM Windows Vista / 7 CALL:BackupDirectory 'Documents' >> %LogFile% REM Windows 2000 / XP CALL:BackupDirectory 'My Documents' >> %LogFile% ECHO Finished ECHO. ECHO Backing up Desktop… CALL:BackupDirectory 'Desktop' >> %LogFile% ECHO Finished ECHO. ECHO. ECHO. GOTO End ENDLOCAL:BackupDirectory ECHO. REM Only backup this directory if it exists on the client machine SET Source='%UserProfile%%~1' IF NOT EXIST %Source% GOTO End SET Dest='%BackupDir%%~1' IF NOT EXIST %Dest% MKDIR %Dest% REM Run the mirror copy: RoboCopy %Source% %Dest% /V /S /E /COPY:DAT /PURGE /MIR /NP /R:1 /W:30 ECHO. ECHO. GOTO End:End
Agendando o script de backup em máquinas do usuário
Depois que o compartilhamento de rede e o script em lote estiverem em vigor, a configuração de uma tarefa agendada simples é tudo que você precisa fazer em cada máquina cliente. Esta Tarefa Agendada que executa o script requer apenas algumas opções especiais que indicamos aqui.
Como as pastas de origem e de destino do script para o processo de espelhamento são orientadas pela conta de usuário do Windows, você precisará garantir que a tarefa agendada seja executada no login do Windows do respectivo usuário.
Se você tiver vários usuários que utilizam a mesma máquina, será necessário configurar uma tarefa agendada para cada usuário para que o script seja executado. Em situações como essa, você pode querer selecionar a opção para ter apenas o script executado quando o usuário estiver logado.
O resultado
Como mencionamos anteriormente, a primeira vez que o processo de espelhamento é executado, a estrutura de pastas é criada e todos os documentos das pastas de origem configuradas são copiados para a rede. Escusado será dizer que a cópia pode demorar um pouco dependendo da quantidade de dados. As execuções subseqüentes da Tarefa Agendada serão concluídas muito mais rapidamente, pois os arquivos da máquina local serão adicionados, atualizados e excluídos, conforme necessário, para manter a estrutura espelhada.
Links
Faça o download do script BackupFiles de SysadminGeek.com
Baixe o Windows Server 2003 Toolkit (que inclui o RoboCopy.exe) da Microsoft