If-Koubou

Bangun Sistem Pembaruan File Otomatis Anda Sendiri

Bangun Sistem Pembaruan File Otomatis Anda Sendiri (Bagaimana caranya)

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 "telepon rumah" 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 ini bekerja cukup mudah untuk mengatur dan, sekali selesai, adalah benar-benar "mengatur 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 http://source.site.com/Stuff.zip), jadi gunakan imajinasi Anda.

Naskah

@ECHO OFF TITLE Pembaruan Dari Web Pembaruan ECHO Dari Web ECHO Ditulis oleh: Jason Faulkner ECHO SysadminGeek.com ECHO. GEMA. SETLOCAL EnableExtensions REM Tempatkan skrip ini di folder yang berisi utilitas untuk diperbarui. REM Membutuhkan WGet berada di folder yang sama dengan skrip ini atau di lokasi yang ditetapkan dalam variabel PATH. URL REM untuk mencari pembaruan pada saat tidak ada yang ditentukan sebagai parameter. URL REM yang menarik --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Jika parameter ditentukan, gunakan itu sebagai URL. JIKA TIDAK % 1 ==  SET URL =% ~ 1 REM Atur nilai ini ke 1 untuk memulai ulang tugas yang dihentikan selama proses pembaruan. SET RestartKilledTasks = 0 ECHO Terdeteksi direktori:% ~ dp0% ~ d0 CD% ~ p0 ECHO. GEMA. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Hapus kosong (tidak ditemukan ) file. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Alat yang dihentikan>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (JIKA ADA "%% A% NewFile%" (ECHO Ditemukan versi baru: %% A REM Jika file sedang berjalan, bunuhlah sehingga dapat diganti. UNTUK / F %% B IN ( 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B saat ini berjalan, proses pembunuhan. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Ganti dengan versi baru. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) JIKA % RestartKilledTasks% == 1 (ECHO. ECHO Melanjutkan tugas-tugas yang telah dibunuh UNTUK / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Mulai %% A START "Mulai ulang %% A" "%% A")) JIKA ADA "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

Tautan

Unduh UpdateFromWeb Script dari SysadminGeek.com

Unduh WGet