OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

סנכרון קבצים וספריות

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

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

rsync מופעל כך:

rsync יעד מקור אפשרויות

איפה מָקוֹר ו יעד הם אחד מהבאים:


● קובץ או ספריה מקומיים

● קובץ או ספריה מרוחקים בצורה של [user@]host:path

● שרת rsync מרוחק שצוין עם URI של rsync://[user@]host[:port]/path

שים לב שהמקור או היעד חייבים להיות קובץ מקומי. העתקה מרחוק למרחוק אינה נתמכת.

בוא ננסה rsync יצא על כמה קבצים מקומיים. ראשית, בואו ננקה את שלנו Foo Directory:


[me@linuxbox ~]$ rm -rf foo/*

[me@linuxbox ~]$ rm -rf foo/*


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


[me@linuxbox ~]$ rsync -av מגרש משחקים foo

[me@linuxbox ~]$ rsync -av מגרש משחקים foo


כללנו את שניהם -a אפשרות (עבור ארכיון-גורם לרקורסיה ושימור של תכונות הקובץ) וה- -v אפשרות (פלט מילולי) ליצירת א ראי של גן שעשועים מדריך בתוך Foo. בזמן שהפקודה פועלת, נראה רשימה של הקבצים והספריות המועתקים. בסוף, נראה הודעת סיכום כזו:



נשלח 135759 בתים התקבל 57870 בתים 387258.00 בתים לשנייה הגודל הכולל הוא 3230 המהירות היא 0.02

נשלח 135759 בתים התקבל 57870 בתים 387258.00 בתים לשנייה הגודל הכולל הוא 3230 המהירות היא 0.02


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



[me@linuxbox ~]$ rsync -av playgound foo

בניית רשימת קבצים ... נעשה


נשלח 22635 בתים התקבל 20 בתים 45310.00 בתים לשנייה הגודל הכולל הוא 3230 המהירות היא 0.14

[me@linuxbox ~]$ rsync -av playgound foo

בניית רשימת קבצים ... נעשה


נשלח 22635 בתים התקבל 20 בתים 45310.00 בתים לשנייה הגודל הכולל הוא 3230 המהירות היא 0.14


שימו לב שלא הייתה רשימה של קבצים. זה בגלל ש rsync גילה שאין הבדלים ביניהם ~/מגרש משחקים ו ~/foo/מגרש משחקים, ולכן לא היה צורך להעתיק דבר. אם נשנה קובץ ב גן שעשועים ורוץ rsync שוב:


[me@linuxbox ~]$ לגעת במגרש המשחקים/dir-099/file-Z [me@linuxbox ~]$ rsync -av מגרש משחקים foo בניית רשימת קבצים ... נעשה

מגרש משחקים/דיר-099/קובץ-Z

נשלח 22685 בתים התקבל 42 בתים 45454.00 בתים לשנייה הגודל הכולל הוא 3230 המהירות היא 0.14

[me@linuxbox ~]$ לגעת במגרש המשחקים/dir-099/file-Z [me@linuxbox ~]$ rsync -av מגרש משחקים foo בניית רשימת קבצים ... נעשה

מגרש משחקים/דיר-099/קובץ-Z

נשלח 22685 בתים התקבל 42 בתים 45454.00 בתים לשנייה הגודל הכולל הוא 3230 המהירות היא 0.14


אנחנו רואים ש rsync זיהה את השינוי והעתיק רק את הקובץ המעודכן.

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



[me@linuxbox ~]$ mkdir /media/BigDisk/גיבוי

[me@linuxbox ~]$ sudo rsync -av --מחק /etc /home /usr/local

/media/BigDisk/גיבוי

[me@linuxbox ~]$ mkdir /media/BigDisk/גיבוי

[me@linuxbox ~]$ sudo rsync -av --מחק /etc /home /usr/local

/media/BigDisk/גיבוי


בדוגמה זו, העתקנו את ה /וכו, / בית, ו / usr / local ספריות מהמערכת שלנו להתקן האחסון הדמיוני שלנו. כללנו את --לִמְחוֹק אפשרות להסיר קבצים שייתכן שהיו קיימים במכשיר הגיבוי שכבר לא היו קיימים במכשיר המקור (זה לא רלוונטי בפעם הראשונה שאנחנו מבצעים גיבוי, אבל יהיה שימושי בעותקים הבאים). חזרה על ההליך של חיבור הכונן החיצוני והפעלתו rsync הפקודה תהיה דרך שימושית (אם כי לא אידיאלית) לשמור על גיבוי של מערכת קטנה. כמובן, כינוי יעזור גם כאן. נוכל ליצור כינוי ולהוסיף אותו לשלנו

קובץ bashrc כדי לספק תכונה זו:


alias backup='sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/backup'

alias backup='sudo rsync -av --delete /etc /home /usr/local

/media/BigDisk/backup'


כעת כל שעלינו לעשות הוא לחבר את הכונן החיצוני שלנו ולהפעיל את גיבוי פקודה לעשות את העבודה.


 

מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: