3Sep

Cree su propio sistema automatizado de actualización de archivos

Todos los administradores del servidor tienen un conjunto de programas de utilidad que les gusta usar. Por lo general, estas herramientas se guardan en cada máquina para garantizar la disponibilidad y pueden provenir de una variedad de fuentes como Sysinternals y Nirsoft.

Para mantener estas herramientas actualizadas a las últimas versiones, la actualización manual puede ser bastante tediosa y lenta, especialmente cuando hay varios servidores en la mezcla. Así que tenemos una solución para usted: una solución fácil de configurar en la que mantiene un único conjunto de herramientas y todas sus máquinas sincronizan las versiones de sus herramientas en esta ubicación.

Por ejemplo, supongamos que mantiene sistemas en 3 redes separadas y desea tener el mismo conjunto de 10 herramientas disponibles en todas estas máquinas para scripts y mantenimiento. Tendría una carpeta maestra de herramientas( disponible a través de un sitio web) donde mantiene las versiones de versión que desea distribuir en todos sus sistemas. Todos sus otros sistemas luego "telefonearán" a esta carpeta maestra y descargarán la versión respectiva localmente. Este proceso proporciona una solución automatizada para asegurarse siempre de que sus versiones de servicios sean consistentes en todos sus sistemas.

Configuración del entorno

El entorno para que esto funcione es bastante fácil de configurar y, una vez hecho, es realmente una solución de "configúrelo y olvídese".

  1. Cree una carpeta dentro de un sitio web al que tenga acceso y que servirá como la carpeta maestra( es decir, Carpeta de Herramientas).
  2. Cargue todas sus utilidades comunes a esta carpeta.
  3. En los servidores que desea sincronizar con el sitio maestro, coloque el script a continuación en la carpeta local que contiene las herramientas( y WGet si no lo tiene ya).
  4. Actualice la URL a su carpeta maestra( es decir, http: //my.site.com/ ToolsFolder).
  5. Programe la secuencia de comandos para que se ejecute periódicamente y todas las herramientas locales que existen en el sitio maestro se sincronizarán.

utiliza alternativamente

Si bien hemos cubierto un uso práctico que un administrador de sistemas puede tener para este tipo de script, hay muchas otras situaciones en las que este script puede ser útil:

  • Se usa para actualizar las utilidades Sysinternals y Nirsoft en máquinas locales( se incluyen URLs)en el guion).
  • Úselo en un sistema de escritorio para mantener un conjunto de documentos sincronizados con una copia maestra.

La secuencia de comandos admite tanto la codificación de una URL como la de una línea de comandos( es decir, UpdateFromWeb http: //source.site.com/ Stuff.zip), así que use su imaginación.

El script

@ECHO OFF TITLE Actualización desde la web Echo Actualización de Web ECHO Escrito por: Jason Faulkner ECHO SysadminGeek.com ECHO.ECO.SETLOCAL EnableExtensions REM Coloque este script en la carpeta que contiene las utilidades para actualizar. REM Requiere que WGet esté en la misma carpeta que este script o en una ubicación establecida en la variable PATH.REM URL para buscar actualizaciones en caso de que no se especifique ninguno como parámetro. REM URL's de interés --- REM Sysinternals: herramientas http: //live.sysinternals.com/ REM NirSoft: http: //www.nirsoft.net/ panel SET URL = http: //my.site.com/ ToolsFolder REM Si se especifica un parámetro, utilícelo como la URL.SI NO{ % 1} =={ } SET URL =% ~ 1 REM Establezca este valor en 1 para reiniciar las tareas que se detienen durante el proceso de actualización. SET RestartKilledTasks = 0 ECHO directorio 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 Delete empty( not found) archivos. FORFILES / P./ C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Herramientas finalizadas & gt;% StartWhenFinished% FOR / F %% A IN( 'DIR / B') DO( SI EXISTE "%% A% NewFile%"( ECHO Nueva versión encontrada de: %% A REM) Si el archivo se está ejecutando, mátalo para quepuede ser reemplazado. FOR / F %% B IN( 'TASKLIST') DO( IF / I [%% A] == [%% B]( ECHO %% B está actualmente en ejecución, proceso de eliminación. ECHO %% A & gt; & gt;% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Reemplazar con la nueva versión. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF{ % RestartKilledTasks%} =={ 1}( ECHO. ECHO Reanudar tareas eliminadas FOR / F" usebackq skip = 1 "%% A IN( % StartWhenFinished%) DO( ECHO Starting %% A START" Restarting%% A "" %% A ")) SI EXISTE"% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL

Enlaces

Descargar UpdateFromWeb Script desde SysadminGeek.com

Descargar WGet