Bangun Sistem Pembaruan File Otomatis Anda Sendiri

Daftar Isi:

Bangun Sistem Pembaruan File Otomatis Anda Sendiri
Bangun Sistem Pembaruan File Otomatis Anda Sendiri

Video: Bangun Sistem Pembaruan File Otomatis Anda Sendiri

Video: Bangun Sistem Pembaruan File Otomatis Anda Sendiri
Video: Desain #5 Menggambar Bebas dengan Bezier Tool - CorelDraw Pemula - YouTube 2024, April
Anonim

Setiap administrator server memiliki satu set program utilitas yang ingin mereka gunakan. Biasanya, alat-alat ini disimpan di setiap mesin untuk memastikan ketersediaan dan dapat berasal dari berbagai sumber seperti Sysinternals dan Nirsoft.

Agar alat ini diperbarui ke versi terbaru, pembaruan manual bisa sangat membosankan dan menghabiskan waktu, terutama ketika ada banyak server dalam campuran. Jadi kami memiliki solusi untuk Anda: solusi sederhana untuk mengatur di mana Anda mempertahankan satu set alat dan semua mesin Anda menyinkronkan versi alat mereka ke lokasi ini.

Sebagai contoh, misalkan Anda memelihara sistem pada 3 jaringan terpisah dan ingin memiliki seperangkat alat yang sama yang tersedia di semua mesin ini untuk skrip dan pemeliharaan. Anda akan memiliki folder alat master (tersedia melalui situs web) di mana Anda mempertahankan versi rilis yang ingin didistribusikan ke semua sistem Anda. Semua sistem Anda yang lain kemudian “phone home” ke folder master ini dan unduh versi masing-masing secara lokal. Proses ini memberikan solusi otomatis untuk selalu memastikan bahwa versi utilitas Anda konsisten di semua sistem Anda.

Menyiapkan Lingkungan

Lingkungan untuk bekerja ini cukup mudah untuk diatur dan, sekali dilakukan, adalah benar-benar “set dan melupakannya” solusi.

  1. Buat folder di dalam situs web Anda memiliki akses ke yang akan server sebagai folder master (yaitu ToolsFolder).
  2. Unggah semua utilitas umum Anda ke folder ini.

  3. Pada server yang ingin Anda sinkronkan ke situs master, tempatkan skrip di bawah ini ke folder lokal yang menyimpan alat (dan WGet jika Anda belum memilikinya).
  4. Perbarui URL ke folder master Anda (mis. Http://my.site.com/ToolsFolder).

  5. Jadwalkan skrip untuk berjalan secara berkala dan semua alat lokal yang ada di situs master akan disinkronkan.

Penggunaan Alternatif

Meskipun kami telah membahas penggunaan praktis yang mungkin dimiliki oleh admin sistem untuk jenis skrip ini, ada banyak situasi lain di mana skrip ini bisa berguna:

  • Gunakan untuk memperbarui utilitas Sysinternals dan Nirsoft pada mesin lokal (URL dimasukkan dalam skrip).
  • Gunakan pada sistem desktop untuk menyimpan satu set dokumen yang disinkronkan dengan salinan master.

Skrip ini mendukung baik hardcoding URL maupun penyediaan satu dari baris perintah (yaitu UpdateFromWeb https://source.site.com/Stuff.zip), jadi gunakan imajinasi Anda.

Naskah

@ECHO OFF TITLE Update From Web ECHO Update From Web ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Place this script in the folder which contains the utilities to update. REM Requires WGet to be in the same folder as this script or in a location set in the PATH variable. REM URL to look for updates on in the event none is specified as a parameter. REM URL's of interest --- REM Sysinternals: https://live.sysinternals.com/tools REM NirSoft: https://www.nirsoft.net/panel SET URL=https://my.site.com/ToolsFolder REM If a parameter is specified, use that as the URL. IF NOT {%1}=={} SET URL=%~1 REM Set this value to 1 to restart tasks that are stopped during the update process. SET RestartKilledTasks=0 ECHO Detected directory: %~dp0 %~d0 CD %~p0 ECHO. ECHO. SET NewFile=.NEW FOR /F %%A IN ('DIR /B') DO WGet --output-document='%%A%NewFile%' '%URL%/%%A' REM Delete empty (not found) files. FORFILES /P. /C 'CMD /C IF @fsize==0 DEL /F /Q @path' SET StartWhenFinished='%TEMP%StartWhenFinished.tmp.txt' ECHO;Terminated tools > %StartWhenFinished% FOR /F %%A IN ('DIR /B') DO ( IF EXIST '%%A%NewFile%' ( ECHO Found new version of: %%A REM If the file is running, kill it so it can be replaced. FOR /F %%B IN ('TASKLIST') DO ( IF /I [%%A]==[%%B] ( ECHO %%B is currently running, killing process. ECHO %%A >> %StartWhenFinished% TASKKILL /IM '%%B' /T /F ) ) REM Replace with the new version. DEL /F /Q '%%A' RENAME '%%A%NewFile%' '%%A' ) ) IF {%RestartKilledTasks%}=={1} ( ECHO. ECHO Resuming killed tasks FOR /F 'usebackq skip=1' %%A IN (%StartWhenFinished%) DO ( ECHO Starting %%A START 'Restarting %%A' '%%A' ) ) IF EXIST '%StartWhenFinished%' DEL '%StartWhenFinished%' ENDLOCAL

Tautan

Unduh UpdateFromWeb Script dari SysadminGeek.com

Unduh WGet

Direkomendasikan: