Начална » как да » Създайте своя собствена автоматизирана система за актуализиране на файлове

    Създайте своя собствена автоматизирана система за актуализиране на файлове

    Всеки администратор на сървър има набор от помощни програми, които обичат да използват. Обикновено тези инструменти се съхраняват на всяка машина, за да осигурят достъпност и могат да идват от различни източници като Sysinternals и Nirsoft.

    За да поддържате тези инструменти актуализирани до най-новите версии, ръчното обновяване може да бъде доста досадно и отнема много време, особено когато в микса има няколко сървъра. Така че ние имаме решение за вас: просто решение за настройка, в което поддържате един набор от инструменти и всичките ви машини синхронизират версиите на техните инструменти с това местоположение.

    Да предположим например, че поддържате системи на 3 отделни мрежи и искате да имате същия набор от 10 инструмента, налични на всички тези машини за скриптове и поддръжка. Трябва да имате главна папка с инструменти (достъпна чрез уеб сайт), където да поддържате версиите за разпространение, които искате да разпространявате във всички ваши системи. Всички други системи след това „се обадете вкъщи“ в тази главна папка и изтеглете съответната версия локално. Този процес осигурява автоматизирано решение за непрекъснато удостоверяване, че версиите на вашата програма са съвместими във всички ваши системи.

    Създаване на среда

    Средата, в която това може да се работи, е доста лесна за настройка и, след като бъде направена, е наистина „решение и го забрави”.

    1. Създайте папка във вътрешността на уеб сайт, до който имате достъп, който ще обслужва сървъра като главна папка (т.е. папка с инструменти).
    2. Качете всички общи услуги в тази папка.
    3. На сървърите, които искате да синхронизирате с главния сайт, поставете скрипта по-долу в локалната папка, която съдържа инструментите (и WGet, ако вече нямате).
    4. Актуализирайте URL адреса към главната си папка (т.е. http://my.site.com/ToolsFolder).
    5. Планирайте скрипта да се изпълнява периодично и всички локални инструменти, които съществуват на главния сайт, ще бъдат синхронизирани.

    Алтернативни употреби

    Макар че сме обхванали практическото използване, което системният администратор може да има за този тип скриптове, има много други ситуации, в които този скрипт може да се окаже полезен:

    • Използвайте, за да актуализирате Sysinternals и Nirsoft помощните програми на локални машини (URL-ите са включени в скрипта).
    • Използвайте на настолна система, за да поддържате синхронизиран набор от документи с основно копие.

    Скриптът поддържа както твърдокодиране на URL, така и предоставяне на един от командния ред (т.е. UpdateFromWeb http://source.site.com/Stuff.zip), така че използвайте въображението си..

    Скриптът

    @ECHO OFF TITLE Актуализация от уеб ECHO актуализация от уеб ECHO Написано от: Джейсън Фокнър ECHO SysadminGeek.com ECHO. Хуманитарна помощ. SETLOCAL EnableExtensions REM Поставете този скрипт в папката, която съдържа помощните програми за актуализиране. REM Изисква WGet да бъде в същата папка като този скрипт или на място, зададено в променливата PATH. REM URL адрес за търсене на актуализации в случай, че никой не е зададен като параметър. REM URL интереси --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Ако е зададен параметър, използвайте го като URL. АКО НЕ НЕ % 1 ==  SET URL =% ~ 1 REM Задайте тази стойност на 1, за да рестартирате задачите, които са спрени по време на процеса на обновяване. SET RestartKilledTasks = 0 ECHO Открита директория:% ~ dp0% ~ d0 CD% ~ p0 ECHO. Хуманитарна помощ. SET NewFile = .NEW FOR / F %% A IN ("DIR / B") DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Изтриване празно (не е намерено) ) файлове. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% Начало на Завършеното.tmp.txt" ECHO; Прекратени инструменти>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (IF EXIST "%% A% NewFile%" (ECHO намерен нова версия на: %% A REM Ако файлът се изпълнява, убийте го, за да бъде заменен. FOR / F %% B IN ( "TASKLIST") DO (IF / I [%% A] == [%% B] (в момента се изпълнява ECHO %% B, процес на убиване ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Заменете с новата версия. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Възобновяване на убитите задачи FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Стартиране %% A START "Рестартиране %% A" "%% A")) IF EXIST "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    звена

    Изтеглете UpdateFromWeb Script от SysadminGeek.com

    Изтеглете WGet