Construisez votre propre système de mise à jour automatique des fichiers
Chaque administrateur de serveur dispose d’un ensemble de programmes utilitaires qu’ils aiment utiliser. En règle générale, ces outils sont conservés sur chaque machine pour garantir la disponibilité et peuvent provenir de diverses sources telles que Sysinternals et Nirsoft..
Pour que ces outils restent à jour avec les dernières versions, la mise à jour manuelle peut s'avérer fastidieuse et fastidieuse, en particulier lorsque plusieurs serveurs sont impliqués. Nous avons donc une solution pour vous: une solution simple à configurer dans laquelle vous maintenez un ensemble unique d’outils et où toutes vos machines synchronisent les versions de leurs outils à cet emplacement..
Par exemple, supposons que vous mainteniez des systèmes sur 3 réseaux distincts et aimiez disposer du même ensemble de 10 outils sur toutes ces machines pour les scripts et la maintenance. Vous disposeriez d'un dossier principal d'outils (disponible via un site Web) dans lequel vous conserverez les versions que vous souhaitez distribuer sur tous vos systèmes. Tous vos autres systèmes puis «téléphoner à la maison» à ce dossier principal et télécharger la version respective localement. Ce processus fournit une solution automatisée pour s'assurer en permanence que les versions de vos utilitaires sont cohérentes sur tous vos systèmes..
Mise en place de l'environnement
L’environnement pour que cela fonctionne est assez facile à configurer et, une fois cela fait, c’est vraiment une solution «installez-le et oubliez-le».
- Créez un dossier dans un site Web auquel vous avez accès et qui servira de dossier principal (par exemple, ToolsFolder)..
- Téléchargez tous vos utilitaires communs dans ce dossier.
- Sur les serveurs que vous souhaitez synchroniser sur le site maître, placez le script ci-dessous dans le dossier local contenant les outils (et WGet si vous ne l'avez pas déjà)..
- Mettez à jour l'URL dans votre dossier principal (c'est-à-dire http://my.site.com/ToolsFolder)..
- Planifiez l'exécution périodique du script et la synchronisation de tous les outils locaux existant sur le site principal..
Autres utilisations
Bien que nous ayons décrit une utilisation pratique qu'un administrateur système peut avoir pour ce type de script, il existe de nombreuses autres situations dans lesquelles ce script peut s'avérer utile:
- Utilisé pour mettre à jour les utilitaires Sysinternals et Nirsoft sur des machines locales (les URL sont incluses dans le script).
- Utiliser sur un système de bureau pour garder un ensemble de documents synchronisés avec une copie principale.
Le script prend en charge à la fois le codage en dur d’une URL et la fourniture de celle-ci à partir de la ligne de commande (par exemple, UpdateFromWeb http://source.site.com/Stuff.zip), utilisez donc votre imagination..
Le scénario
@ECHO OFF TITLE Mise à jour depuis Web ECHO Mise à jour depuis Web ECHO Écrit par: Jason Faulkner ECHO SysadminGeek.com ECHO. ÉCHO. SETLOCAL EnableExtensions REM Placez ce script dans le dossier qui contient les utilitaires à mettre à jour. REM requiert que WGet soit dans le même dossier que ce script ou dans un emplacement défini dans la variable PATH. URL REM pour rechercher les mises à jour dans le cas où aucun n'est spécifié en tant que paramètre. REM URL d'intérêt --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Si un paramètre est spécifié, utilisez-le comme URL. IF NOT % 1 == SET URL =% ~ 1 REM Définissez cette valeur sur 1 pour redémarrer les tâches arrêtées pendant le processus de mise à jour. SET RestartKilledTasks = 0 ECHO Répertoire détecté:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ÉCHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Supprimer vide (introuvable) ) des dossiers. FORFILES / P. / C "CMD / C IF @ taille == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Outils terminés>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (SI EXIST "%% A% NewFile%" (ECHO Nouvelle version trouvée de: %% A REM Si le fichier est en cours d’exécution, supprimez-le pour qu’il soit remplacé. FOR / F %% B IN ( 'TASKLIST') DO (SI / I [%% A] == [%% B] (ECHO %% B est en cours d'exécution, processus de destruction. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Remplace par la nouvelle version. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Reprise des tâches supprimées POUR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO démarrant %% A START "Redémarrage de %% A" "%% A")) SI EXIST "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
Liens
Téléchargez le script UpdateFromWeb depuis SysadminGeek.com
Télécharger Wet