Kendi Otomatik Dosya Güncelleme Sisteminizi Kurun
Her sunucu yöneticisinin kullanmaktan hoşlandığı bir dizi yardımcı program vardır. Genellikle, bu araçlar kullanılabilirliği sağlamak için her makinede tutulur ve Sysinternals ve Nirsoft gibi çeşitli kaynaklardan gelebilir.
Bu araçları en son sürümlere güncel tutmak için, el ile güncelleme, özellikle karışımda birden fazla sunucu olduğunda oldukça sıkıcı ve zaman alıcı olabilir. Bu yüzden sizin için bir çözümümüz var: tek bir araç seti tuttuğunuz ve tüm makinelerinizin araçlarının sürümlerini bu konumla senkronize ettiği basit bir kurulum çözümü.
Örneğin, sistemleri 3 ayrı ağda tuttuğunuzu ve tüm bu makinelerde komut dosyaları ve bakım için aynı 10 aracı bulunduğunu varsayalım. Tüm sistemlerinize dağıtılmasını istediğiniz sürüm sürümlerini sakladığınız bir ana araç klasörünüz (bir web sitesi aracılığıyla mevcut) olacaktır. Daha sonra tüm diğer sistemleriniz bu ana klasöre “ev” diyor ve yerel olarak ilgili sürümü indiriyor. Bu işlem, yardımcı program sürümlerinin tüm sistemlerinizde tutarlı olduğundan emin olmak için her zaman otomatik bir çözüm sunar..
Ortamı Kurmak
Bunun çalışması için ortamın oluşturulması oldukça kolaydır ve bir kez yapıldığında, gerçekten bir “onu kur ve unut” çözümüdür..
- Erişiminiz olan bir web sitesinin içinde ana klasör olarak hizmet verecek bir klasör oluşturun (ör. ToolsFolder).
- Tüm genel yardımcı programlarınızı bu klasöre yükleyin.
- Ana siteyle senkronize etmek istediğiniz sunucularda, aşağıdaki komut dosyasını araçları içeren yerel klasöre yerleştirin (ve henüz yoksa, WGet).
- URL’yi ana klasörünüze güncelleyin (ör. Http://my.site.com/ToolsFolder).
- Komut dosyasını periyodik olarak çalıştırmak üzere zamanlayın; ana sitede bulunan tüm yerel araçlar senkronize edilir..
Alternatif Kullanımlar
Bir sistem yöneticisinin bu tür bir komut dosyası için sahip olabileceği pratik bir kullanımı ele almamıza rağmen, bu komut dosyasının işe yarayabileceği başka birçok durum vardır:
- Yerel makinelerde Sysinternals ve Nirsoft yardımcı programlarını güncellemek için kullanın (URL'ler komut dosyasına dahil edilmiştir).
- Ana kopya ile senkronize edilmiş bir dizi belgeyi saklamak için masaüstü sistemde kullanın.
Bu komut dosyası hem URL'yi hem de komut satırından bir URL (ör. UpdateFromWeb http://source.site.com/Stuff.zip) sağlayarak kodlamayı destekler, bu nedenle hayal gücünüzü kullanın.
Senaryo
@ECHO OFF TITLE Web'den ECHO Güncellemesi Web'den ECHO Güncellemesi Yazan: Jason Faulkner ECHO SysadminGeek.com ECHO. EKO. SETLOCAL EnableExtensions REM Bu betiği, güncellenecek yardımcı programları içeren klasöre yerleştirin. REM WGet'in bu komut dosyasıyla aynı klasörde veya PATH değişkeninde ayarlanmış bir konumda olmasını gerektirir. Hiçbirinin parametre olarak belirtilmediği durumlarda güncellemeleri aramak için REM URL'si. REM URL'sinin ilgi alanı --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Bir parametre belirtilmişse, bunu URL olarak kullanın. EĞER DEĞİL % 1 == SET URL =% ~ 1 REM Güncelleme işlemi sırasında durdurulan görevleri yeniden başlatmak için bu değeri 1 olarak ayarlayın. SET RestartKilledTasks = 0 ECHO Algılanan dizin:% ~ dp0% ~ d0 CD% ~ p0 ECHO. EKO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Sil boş (bulunamadı) ) Dosyalar. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Sonlandırılmış araçlar>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (Varsa "%% A% NewFile%" (ECHO Yeni sürüm bulundu: %% A REM Dosya çalışıyorsa, onu öldürebilir, böylece değiştirilebilsin. FOR / F %% B IN ( 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B şu anda çalışıyor, öldürme işlemi. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Yeni sürümle değiştir DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Öldürülen görevlerin devam ettirilmesi FOR / F "usebackq skip = 1" %% A IN (% Başlangıç Sonrası%)% 'si DO'yu (ECHO %% A'dan Başlayarak "%% A'yı Yeniden Başlatma" "%% A")) "%" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
Bağlantılar
UpdateFromWeb Script'i SysadminGeek.com adresinden indirin
WGet indir