Anonim

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

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

מדוע סקריפטים של שורת הפקודה?

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

  • פקודות מקוריות : איזו דרך טובה יותר לגיבוי נתונים מאשר באמצעות הפונקציות הזמינות דרך התוכנית היוצרת את הנתונים? בין אם זו מערכת ההפעלה עצמה באמצעות פקודה פשוטה להעתקת קבצים או פקודת מסד נתונים לייצור קובץ בינארי שניתן לשחזור, תוכנית המקור יודעת הכי טוב כיצד לגבות את עצמה.
  • שליטה אולטימטיבית : מכיוון שתסריט של שורת פקודה עוקב אחר הליך פשוט צעד אחר צעד, אתה יודע בדיוק מה קורה ויכול לשנות בקלות את ההתנהגות.
  • מהיר : מכיוון שהכל הוא פקודה מקומית, שום דבר אינו נתון לפרשנות. שוב, אתה משתמש בפקודות המסופקות על ידי התוכנית עצמה, כך שהתקורה נשמרת למינימום.
  • עוצמתי : עדיין לא ראיתי משימת גיבוי שלא ניתן לבצע באמצעות סקריפט שורת פקודה … ועשיתי כמה דברים פאנקיים. אם כי ייתכן שתצטרך לעשות קצת מחקר וניסוי וטעייה אם יש לך צרכים ייחודיים באמת, בדרך כלל הפונקציות והפיצ'רים המובנים של שפת ה- scripting שאתה משתמש בהם הם די והותר.
  • חינם וגמיש : ברור, סקריפט של שורת הפקודה לא עולה כלום (מחוץ לזמן לפיתוחו), כך שתוכלו להעתיק את הסקריפטים שלכם למספר מכונות ומערכות ללא מעט זמן או עלות. השווה זאת לעלות רכישת רישיונות עבור תוכנת גיבוי במספר שרתים ו / או מחשבים שולחניים.

סקירה מהירה של סקריפט אצוות הגיבוי

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

מה עושה סקריפט הגיבוי:

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

דרישות:
Windows 2000 / XP / 2003 / Vista או גירסה חדשה יותר
7-מיקוד (זה בחינם)

קובץ תצורה:
קובץ התצורה הוא פשוט קובץ טקסט המכיל קבצים ותיקיות לגיבוי, והוזן פריט גיבוי אחד בכל שורה. יש לקרוא לקובץ זה "BackupConfig.txt" ולהימצא באותה תיקיה כמו סקריפט הגיבוי. להלן דוגמא לקובץ BackupConfig.txt (שימו לב, התו "#" בשורה הראשונה מציין שהשורה היא תגובה; התגובות תמיד מתעלמות כאשר התסריט פועל):

# הזן שמות קבצים ותיקיות, אחד בכל שורה.
C: \ מסמכים והגדרות \ ג'ייסון פוקנר \ שולחן עבודה C: \ מסמכים והגדרות \ ג'ייסון פוקנר \ המסמכים שלי \ קבצים חשובים C: \ סקריפטים \ BackupScript.bat

הדוגמה שלמעלה תגבה את שולחן העבודה של משתמש Windows ג'ייסון פוקנר (ואת כל התיקיות בשולחן העבודה), את התיקיה שנקראה "קבצים חשובים" בתוך המסמכים שלי (ואת כל התיקיות בתוך "קבצים חשובים") ואת הקובץ "BackupScript.bat" בפנים. ספריית C: \ Scripts.

סוגי גיבויים:

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

סקריפט האצווה של גיבוי הנתונים של Windows

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

  • מיקום אחסון הגיבוי בו מאוחסנים קבצי הגיבוי הדחוסים שהתקבלו.
  • יום השבוע בו מופעלת הגיבוי המלא (כל יום אחר יפעיל גיבוי מצטבר).
  • מיקום המקום בו 7-Zip מותקן במחשב שלך. הסקריפט מוגדר אוטומטית לחפש במיקום ברירת המחדל.

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

ללא שום כוונה נוספת, הנה זה:

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

@ECHO OFF REM BackupScript REM גרסה 1.01, עודכן: 2008-05-21 REM מאת ג'ייסון פוקנר (Articles132solutions.com) REM מבצע גיבויים מלאים או מצטברים של תיקיות וקבצים שהוגדרו על ידי המשתמש. שימוש REM --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS EnABLEDELAYEDEXPANSION REM --- אפשרויות תצורה --- מיקום תיקיית REM בו ברצונך לאחסן את ארכיב הגיבוי שהתקבל. REM תיקיה זו חייבת להתקיים. אל תשים '\' בסוף, זה יתווסף אוטומטית. REM אתה יכול להזין נתיב מקומי, אות כונן חיצונית (לדוגמה F :) או מיקום רשת (לדוגמה \ \ שרת \ גיבויים) SET BackupStorage = C: \ גיבוי REM באיזה יום בשבוע אתה רוצה לבצע גיבוי מלא ב? REM הזן אחת מהפעולות הבאות: יום ראשון, שני, יום ג ', ג', ה, ו ', שבת, * REM כל יום בשבוע שאינו זה שצוין להלן יפעיל גיבוי מצטבר. REM אם תזין '*', גיבוי מלא יופעל בכל פעם. SET FullBackupDay = * REM מיקום בו 7-Zip מותקן במחשב שלך. REM ברירת המחדל היא בתיקיה '7-Zip' בספריית קבצי התוכנית שלך. SET InstallLocationOf7Zip =% קבצי תוכניות% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | אל תשנה שום דבר למטה כאן אלא אם כן אתה יודע מה אתה עושה. | REM + ------------------------------------------------ ----------------------- + משתני REM שימוש. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt REM אימות. אם לא קיים% filBackupConfig% (ECHO לא נמצא קובץ תצורה, חסר:% filBackupConfig% GOTO סוף) אם לא קיים "% exe7Zip%" (ECHO 7-Zip לא מותקן במיקום:% dir7Zip% ECHO אנא עדכן את הספרייה שבה מותקן 7 Zip. סוף GOTO) משתני גיבוי REM. FOR / f "אסימונים = 1, 2, 3, 4 delims = /" %% a IN ('תאריך / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) אם {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = SET מלא swXCopy = / e) ELSE (SET txtBackup = מצטבר SET swXCopy = / s / d:% FileDate%) ECHO מתחיל להעתיק קבצים. אם לא קיים "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "דלג = 1 אסימונים = *" %% A IN (% filBackupConfig%) DO (SET Current = %% ~ A אם לא קיים "! נוכחי!) "(ECHO שגיאה! לא נמצא:! נוכחי!) ELSE (ECHO העתקה:! נוכחי! הגדרת יעד =% dirTempBackup% \! נוכחי: ~ 0, 1!%% ~ PnxA REM קבע אם הערך הוא קובץ או תיקיה. אם "%% ~ xA" == "" (מדריך REM. XCOPY "! נוכחי!" "! יעד!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (קובץ REM COPY / v / y "! נוכחי!" "! יעד!"))) ECHO בוצע העתקת קבצים. ECHO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM אם קובץ הגיבוי קיים, הסר אותו לטובת הקובץ החדש. אם קיים "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO דחיסת קבצי גיבוי. (חלון חדש) REM דחוס קבצים באמצעות 7-Zip בתהליך עדיפות נמוך יותר. התחל "דחיסת גיבוי. אל תסגור" / לא חשוב / המתן "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO סיימת דחיסת קבצי גיבוי. ECHO. ניקוי ECHO. אם קיים "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : סיום ECHO סיים. ECHO. ENDLOCAL

מקור טקסט רגיל זמין כאן: גיבוי

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

  • כיצד ליצור קובץ אצווה
  • כיצד ליצור משימה מתוזמנת של Windows

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

תהנה!

סקריפט אצווה של Windows לגיבוי נתונים