3Sep

בניית משלך אוטומטי קובץ עדכון מערכת

כל מנהל השרת יש קבוצה של תוכניות השירות הם אוהבים להשתמש.בדרך כלל, כלים אלה נשמרים על כל מכונה כדי להבטיח זמינות יכול לבוא ממגוון מקורות כגון Sysinternals ו Nirsoft.

כדי לשמור על כלים אלה מעודכנים לגרסאות העדכניות ביותר, עדכון ידני יכול להיות די מייגע זמן רב, במיוחד כאשר יש מספר שרתים בתערובת.אז יש לנו פתרון בשבילך: פשוט להגדיר פתרון שבו אתה שומר על קבוצה אחת של כלים וכל המכונות שלך לסנכרן את הגרסאות של הכלים שלהם למיקום זה.

לדוגמה, נניח שאתה שומר על מערכות ב -3 רשתות נפרדות, וכמו כן יש לך אותה קבוצה של 10 כלים זמינים בכל המכונות האלה עבור סקריפטים ותחזוקה.אתה צריך תיקיית מאסטר של כלים( זמין באמצעות אתר אינטרנט) שבו אתה שומר על גירסאות שחרור אתה רוצה להפיץ את כל המערכות שלך.כל שאר המערכות שלך ואז "הטלפון הביתה" לתיקייה זו הורים ולהוריד את הגרסה המתאימה מקומית.תהליך זה מספק פתרון אוטומטי כדי לוודא תמיד גירסאות השירות שלך עקביים על פני כל המערכות שלך.

הגדרת הסביבה

הסביבה לעבודה זו היא די פשוטה להגדיר, לאחר נעשה, הוא באמת "להגדיר את זה לשכוח את זה" פתרון.

  1. יצירת תיקיה בתוך אתר אינטרנט שיש לך גישה אליו יהיה השרת כתיקיית המאסטר( כלומר, ToolsFolder).
  2. העלה את כל כלי השירות הנפוצים שלך לתיקיה זו.
  3. בשרתים שברצונך לסנכרן לאתר הראשי, מקם את הסקריפט שלהלן בתיקיה המקומית המחזיקה את הכלים( ו- WGet אם אין לך את זה כבר).
  4. עדכן את כתובת האתר לתיקיית המאסטר שלך( כלומר http: //my.site.com/ ToolsFolder).
  5. תזמן את התסריט להפעלה תקופתית וכל הכלים המקומיים הקיימים באתר הראשי יהיו מסונכרנים.

שימושים חלופיים

בזמן שאנו מכסים את השימוש המעשי שמנהל מערכת יכול לקבל עבור סוג זה של סקריפטים, ישנם מצבים רבים אחרים שבהם סקריפט זה יכול להיות שימושי:

  • השתמש כדי לעדכן Sysinternals ו Nirsoft כלי עזר על מכונות מקומיות( כתובת האתר של כלוליםבתסריט).
  • השתמש במערכת שולחנית כדי לשמור על סדרת מסמכים שסונכרנה עם עותק ראשי.

התסריט תומך הן קידוד כתובת האתר, כמו גם אספקת אחד משורת הפקודה( כלומר UpdateFromWeb http: //source.site.com/ Stuff.zip), אז להשתמש בדמיון שלך.

סקריפט

@ECHO OFF כותרת עדכון מ ECHO אינטרנט לעדכן מהאינטרנט ECHO נכתב על ידי: ג 'ייסון Faulkner ECHO SysadminGeek.com ECHO.הֵד.SETLOCAL EnableExtensions REM הצב סקריפט זה בתיקייה המכילה את כלי השירות לעדכון.REM דורש ש- WGet יהיה באותה תיקיה שבה נמצא סקריפט זה או במיקום שהוגדר במשתנה PATH.כתובת אתר של REM כדי לחפש עדכונים ב'ארוע 'של האירוע, לא צוין כפרמטר.REM כתובת האתר של עניין --- REM Sysinternals: http: //live.sysinternals.com/ כלים REM NirSoft: http: //www.nirsoft.net/ פאנל SET URL = http: //my.site.com/ ToolsFolder REM אם צוין פרמטר, השתמש בו ככתובת האתר.אם לא{ % 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 Delete empty( לא נמצא) קבצים.FORFILES / P./ C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; כלים הסתיימו & gt;% StartWhenFinished% FOR / F %% A IN( 'DIR / B') DO( אם קיים "%% A% NewFile%"( ECHO נמצא גרסה חדשה של: %% A REM אם הקובץ פועל, הרג אותו כך שהוא(אם אתה / אני [%% A] == [%% B]( ECHO %% B פועל כרגע, תהליך הרג. ECHO %% A & gt;% /% /% /%% A "RENAME" %% A% NewFile% "" %% A"}}}%{ % RestartKilledTasks%} ={ 1}( ECHO. ECHO ECHO חידוש משימות שהרגו עבור \ F \" usebackq skip = 1 "% A IN( % StartWhenFinished%) DO( ECHO החל %% A התחלה" הפעלה מחדש%(% A "") אם קיים "% StartWhenFinished%" DEL "% StartWhenFinished%" ENDLOCAL

קישורים

הורד UpdateFromWeb Script מתוך SysadminGeek.com

הורד WGet