Crie seu próprio sistema automatizado de atualização de arquivos
Todo administrador de servidores tem um conjunto de programas utilitários que eles gostam de usar. Normalmente, essas ferramentas são mantidas em cada máquina para garantir a disponibilidade e podem vir de uma variedade de fontes, como Sysinternals e Nirsoft..
Para manter essas ferramentas atualizadas para as versões mais recentes, a atualização manual pode ser bastante entediante e demorada, especialmente quando há vários servidores no mix. Portanto, temos uma solução para você: uma solução simples para configurar, onde você mantém um único conjunto de ferramentas e todas as suas máquinas sincronizam as versões de suas ferramentas para esse local..
Por exemplo, suponha que você mantenha sistemas em 3 redes separadas e gostaria de ter o mesmo conjunto de 10 ferramentas disponíveis em todas essas máquinas para scripts e manutenção. Você teria uma pasta mestre de ferramentas (disponível através de um site) onde você mantém as versões de lançamento que deseja distribuir para todos os seus sistemas. Todos os seus outros sistemas, em seguida, "telefone de casa" para esta pasta master e baixe a respectiva versão localmente. Esse processo fornece uma solução automatizada para garantir sempre que suas versões de utilitário sejam consistentes em todos os seus sistemas.
Configurando o Ambiente
O ambiente para isto funcionar é muito fácil de configurar e, uma vez feito, é verdadeiramente uma solução “configure e esqueça”.
- Criar uma pasta dentro de um site que você tem acesso ao servidor que servirá como a pasta principal (ou seja, ToolsFolder).
- Carregar todos os seus utilitários comuns para esta pasta.
- Nos servidores que você deseja sincronizar com o site mestre, coloque o script abaixo na pasta local que contém as ferramentas (e o WGet, caso ainda não o tenha).
- Atualize o URL para sua pasta mestra (por exemplo, http://my.site.com/ToolsFolder).
- Programe o script para ser executado periodicamente e todas as ferramentas locais existentes no site principal serão sincronizadas.
Usos alternativos
Embora tenhamos coberto um uso prático que um administrador de sistema pode ter para esse tipo de script, há muitas outras situações em que esse script pode ser útil:
- Use para atualizar os utilitários Sysinternals e Nirsoft em máquinas locais (as URLs estão incluídas no script).
- Use em um sistema de desktop para manter um conjunto de documentos sincronizados com uma cópia mestre.
O script suporta a codificação de um URL, bem como o fornecimento de um a partir da linha de comando (por exemplo, UpdateFromWeb http://source.site.com/Stuff.zip), portanto, use sua imaginação.
O script
@ ECHO OFF TITLE Atualização da Web ECHO Atualização do Web ECHO Escrito por: Jason Faulkner ECHO SysadminGeek.com ECHO. ECO. SETLOCAL EnableExtensions REM Coloque esse script na pasta que contém os utilitários a serem atualizados. REM Requer que o WGet esteja na mesma pasta que este script ou em um local definido na variável PATH. URL REM para procurar atualizações no caso de nenhum ser especificado como um parâmetro. URL REM de interesse --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Se um parâmetro for especificado, use-o como o URL. SE NÃO % 1 == SET URL =% ~ 1 REM Defina este valor como 1 para reiniciar tarefas paradas durante o processo de atualização. SET RestartKilledTasks = 0 ECHO Diretório detectado:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Apagar vazio (não encontrado ) arquivos. FORFILES / P. / C "CMD / C SE @ fsize == 0 DEL / F / Q @ caminho" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Ferramentas terminadas>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (SE EXISTE "%% A% NewFile%" (ECHO) Encontrada nova versão de: %% A REM Se o arquivo estiver rodando, mate-o para que ele possa ser substituído FOR / F %% B IN ( 'TASKLIST') DO (SE / I [%% A] == [%% B] (ECHO %% B está atualmente em execução, matando o processo. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Substituir pela nova versão DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) SE % RestartKilledTasks% == 1 (ECHO. ECHO Retomando tarefas mortas PARA / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO A partir de %% A START "Reiniciando %% A" "%% A")) SE EXISTE "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
Links
Faça o download do UpdateFromWeb Script em SysadminGeek.com
Baixar WGet