Para utilização/instalação do Rsync no windows procure documentações na internet como esta abaixo:
http://www.vivaolinux.com.br/artigo/Utilizando-o-RSYNC-para-fazer-backups-de-servidores-e-estacoes-Windows?pagina=1
1 – Instalação da biblioteca do rsync no windows e certificação de que a mesma funciona corretamente.
2 – Realizar as relações de confiança para servidores linux a fim da não solicitação de senhas.
3 – Utilizar a ferramenta microsoft de agendamento de tarefas.
sincroniza.bat => sincronizando dois servidores. Arquivos mais novos sobreescrevem os mais antigos em ambos os sentidos. Mapeamento de um server no outro. Usuário (manutencao) deve ser administrator, com os compartilhamento liberado para ele.
set data=%date:/=-% net use j: \\servidor_a\EMPRESAExport senhaeh1234 /user:manutencao echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo "| Sincronizacao realizada em %data% as %time% |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " ||||||| Arquivos abaixo sincronizados ||||||| " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" C:\Program Files\cwRsync\cwrsync.cmd echo "| ENVIANDO DO SERVER_A PARA SERVER_B |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" "C:\Program Files (x86)\cwRsync\bin\rsync.exe" -uvha --recursive "/cygdrive/j/" "/cygdrive/c/inetpub/EMPRESAExport" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo "| ENVIANDO DO SERVER_B PARA SERVER_A |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" "C:\Program Files (x86)\cwRsync\bin\rsync.exe" -uvha --recursive "/cygdrive/c/inetpub/EMPRESAExport/" "/cygdrive/j" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo "| Sincronizacao finalizada em %data% as %time% |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " ============================================================================================== " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Inetpub EMPRESA/_%data%.txt"
backup.bat => faz backup de um diretório para outro
set data=%date:/=-% set dia=%date:~0,2% echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo "| Sincronizacao realizada em %data% as %time% |" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo " ||||||| Arquivos abaixo sincronizados ||||||| " >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" C:\Program Files\cwRsync\cwrsync.cmd rsync -vh --recursive --delete --exclude "*.txt" root@192.168.100.154:/opt/apache/htdocs/ "/cygdrive/c/BACKUP_APLICACOES_CAND/dias/%dia%" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo " " >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo "| Sincronizacao finalizada em %data% as %time% |" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt" echo "| ------ ------ ------ ------ ------ ------ ----------- |" >> "C:\LOGS\Sincronizacao Backup Candidato/_%data%.txt"
Apaga_sent.vbs => apaga arquivos recursivamente que contem no nome a expressão “eam-new”
strPasta="C:\Program Files (x86)\Persits Software\AspEmail\Queue\Sent" set FSo = CreateObject("Scripting.FileSystemObject") Apagar_Arquivos(strPasta) Sub Apagar_Arquivos(Pasta) set folder = FSO.getFolder (Pasta) if folder.Subfolders.count > 0 then for each SubFolder in folder.Subfolders Apagar_Arquivos SubFolder next end if for each file in folder.files set objFile = FSO.GetFile(file) if FSO.GetExtensionName(objFile) = "eam-new" then File.delete end if next end sub
Apaga_logs.vbs => apaga registros dentro de um diretório recursivamente. 31 dias de retenção.
pasta = "C:\LOGS" Apagar_Arquivos pasta Sub Apagar_Arquivos(pasta) Set objFSO = CreateObject("Scripting.FileSystemObject") 'aqui você informa o caminho da pasta set folder = objFSO.getFolder (Pasta) if folder.Subfolders.count > 0 then for each SubFolder in folder.Subfolders 'AQUI ELE VAI PROCURAR PASTAS E SUBPASTAS. Apagar_Arquivos SubFolder next end if for each file in folder.files 'AQUI DEFINE A QUANTIDADE DE DIAS. if DateDiff("d",file.DateLastModified,now) > 31 Then objFSO.DeleteFile(file.path) End if next End sub
Exemplo de uma tarefa agendada no windows para rodar o script de backup uma vez por dia as 23hrs: