3Sep
Chaque administrateur de serveur a un ensemble de programmes utilitaires qu'il aime utiliser. En règle générale, ces outils sont conservés sur chaque machine pour assurer la disponibilité et peuvent provenir d'une variété de sources telles que Sysinternals et Nirsoft.
Pour que ces outils soient mis à jour avec les dernières versions, la mise à jour manuelle peut être fastidieuse et fastidieuse, en particulier lorsqu'il y a plusieurs serveurs dans le mix. Nous avons donc une solution pour vous: une solution simple à mettre en place où vous conservez un seul ensemble 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 que vous souhaitiez avoir le même ensemble de 10 outils disponibles sur toutes ces machines pour les scripts et la maintenance. Vous disposez d'un dossier maître d'outils( disponible via un site Web) où vous gérez les versions de versions que vous souhaitez distribuer à tous vos systèmes. Tous vos autres systèmes puis "téléphone à la maison" à ce dossier maître et télécharger la version respective localement. Ce processus fournit une solution automatisée pour toujours s'assurer que vos versions d'utilitaire 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 terminé, c'est vraiment une solution «mettez-le et oubliez-le».
- Créez un dossier à l'intérieur d'un site Web auquel vous avez accès et qui servira de serveur en tant que dossier principal( c'est-à-dire ToolsFolder).
- Téléchargez tous vos utilitaires communs dans ce dossier.
- Sur les serveurs que vous souhaitez synchroniser avec 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 vers votre dossier maître( c'est-à-dire http: //my.site.com/ ToolsFolder).
- Planifiez l'exécution périodique du script et tous les outils locaux qui existent sur le site principal seront synchronisés.
Autres utilisations
Bien que nous ayons couvert une utilisation pratique qu'un administrateur système peut avoir pour ce type de script, il existe de nombreuses autres situations où ce script peut être utile:
- Utilisé pour mettre à jour les utilitaires Sysinternals et Nirsoft sur les machines localesdans le script).
- Utilisé sur un système de bureau pour conserver 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 l'envoi d'une URL à partir de la ligne de commande( par exemple, UpdateFromWeb http: //source.site.com/ Stuff.zip), alors utilisez votre imagination.
Le script
@ECHO OFF TITLE Mise à jour du Web ECHO Mise à jour du Web ECHO Rédigé par: Jason Faulkner ECHO SysadminGeek.com ECHO.ÉCHO.SETLOCAL EnableExtensions REM Placez ce script dans le dossier contenant 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 des 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/ outils REM NirSoft: http: //www.nirsoft.net/ panneau SET URL = http: //my.site.com/ ToolsFolder REM Si un paramètre est spécifié, utilisez cela comme l'URL.SI NON{ % 1} =={ } SET URL =% ~ 1 REM Définissez cette valeur sur 1 pour redémarrer les tâches qui sont 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 POUR / F %% A IN( 'DIR / B') DO WGet --output-document = "%% A% NouveauFichier%" "% URL% / %% A" REM Supprimer vide( non trouvé)) des dossiers. FORFAITS / P./ C "CMD / C IF @ taille == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Outils terminés & gt;% StartWhenFinished% POUR / F %% A IN( 'DIR / B') DO( SI EXISTENT "%% A% NewFile%"( ECHO) Nouvelle version de: %% A REM Si le fichier est en cours d'exécution, le supprimerpeut être remplacé FOR / F %% B IN( 'TASKLIST') DO( IF / I [%% A] == [%% B]( ECHO %% B est en cours d'exécution, processus de mise à mort ECHO %% A & gt; & gt;% StartWhenFinished% TASKKILL / IM "%% B" / T / F) REM Remplacer par la nouvelle version DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF{ % RestartKilledTasks%} =={ 1}( ECHO ECHO Reprise des tâches supprimées FOR / F" usebackq skip = 1 "%% A IN( % StartWhenFinished%) DO( démarrage ECHO %% A START" Redémarrage%% A "" %% A ")) SI EXIST"% StartWhenFinished% "DEL"% DémarrerFinished% "ENDLOCALLiens
Télécharger UpdateFromWeb Script de SysadminGeek.com
Télécharger WGet