If-Koubou

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

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

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

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

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

Настройване на средата

Околната среда за това да работи е доста лесно да се създаде и, след като е направено, е наистина решение "да го наложи и да го забрави".

  1. Създайте папка вътре в уеб сайт, до който имате достъп, към който сървърът ще бъде основната папка (т.е. ToolsFolder).
  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 Актуализация от Web ECHO Update From Web ECHO Написано от: Jason Faulkner ECHO SysadminGeek.com ECHO. Хуманитарна помощ. SETLOCAL EnableExtensions REM Поставете този скрипт в папката, която съдържа помощните програми за актуализиране. REM Изисква WGet да бъде в същата папка като този скрипт или в място, зададено в променливата PATH. REM URL адрес, за да търсите актуализации в случай, че никой не е посочен като параметър. REM URLs на интерес --- 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 Detected:% ~ dp0% ~ d0 CD% ~ p0 ECHO. Хуманитарна помощ. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%"% ) файлове. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ път" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; DIR / B ') DO (АКО съществува "%% A% NewFile%" (ECHO Намерена нова версия на: %% A REM Ако файлът работи, го убийте, за да бъде заменен. "TASKLIST") DO (IF / I [%% A] == [%% B] (ECHO %% B работи понастоящем, убива процес. / T / F)) REM Заменете с новата версия DELF / Q / Q "%% A" RENAME "%% A% NewFile%" %% A ")) IF % RestartKilledTasks% (ECHO. ECHO Възобновяване на убитите задачи FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO стартиране %% A START "Restarting %% A" "%% A" Стартиране на 

звена

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

Изтегляне на WGet