כיצד להשתמש rsync גיבוי הנתונים שלך על לינוקס
rsync הוא פרוטוקול שנבנה עבור מערכות כמו יוניקס המספק צדדיות לא ייאמן לגיבוי וסינכרון נתונים. ניתן להשתמש בו באופן מקומי כדי לגבות קבצים לספריות שונות או יכול להיות מוגדר כדי לסנכרן באינטרנט כדי מארח אחרים.
ניתן להשתמש בו במערכות Windows אבל זמין רק דרך יציאות שונות (כגון Cygwin), אז זה איך אנחנו מדברים על הגדרת אותו על לינוקס. ראשית, אנחנו צריכים להתקין / לעדכן את הלקוח rsync. בהפצות Red Hat, הפקודה היא "yum install rsync" ובדביאן היא "sudo apt-get install rsync."
הפקודה על רד האט / CentOS, לאחר כניסה כמו שורש (שים לב כי כמה הפצות האחרונות של Red Hat תמיכה בשיטת sudo).
הפקודה על דביאן / אובונטו.
שימוש ב- rsync עבור גיבויים מקומיים
בחלק הראשון של הדרכה זו, אנו לגבות את הקבצים מ Directory1 כדי Directory2. שני ספריות אלה נמצאים באותו כונן קשיח, אבל זה יעבוד בדיוק אותו דבר אם הספריות היו קיימים על שני כוננים שונים. ישנן מספר דרכים שונות אנו יכולים לגשת זה, תלוי איזה סוג של גיבויים אתה רוצה להגדיר. למרבית המטרות, שורת הקוד הבאה תספיק:
$ rsync -av --delete / Directory1 / / Directory2 /
הקוד לעיל יהיה לסנכרן את התוכן של Directory1 ל- Directory2, ולא להשאיר שום הבדלים בין השניים. אם rsync מוצא כי Directory2 יש קובץ directory1 לא, זה יהיה למחוק אותו. אם rsync מוצא קובץ שהשתנה, נוצר או נמחק ב- Directory1, הוא ישקף אותם שינויים ל- directory2.
יש הרבה מתגים שונים, כי אתה יכול להשתמש עבור rsync כדי להתאים אישית את הצרכים הספציפיים שלך. הנה מה את הקוד הנ"ל אומר rsync לעשות עם הגיבויים:
1. - = רקורסיבי (recursive לתוך ספריות), קישורים (להעתיק symlinks כמו symlinks), perms (הרשאות הרשאה), פעמים (לשמור על זמני שינוי), קבוצה (קבוצת שמירה), הבעלים (לשמור על הבעלים), לשמור על קבצים המכשיר, ו לשמור קבצים מיוחדים.
2. -v = verbose. הסיבה שאני חושב verbose חשוב הוא כל כך אתה יכול לראות בדיוק מה rsync הוא גיבוי. תחשוב על זה: מה אם הכונן הקשיח שלך הולך רע, ומתחיל למחוק קבצים ללא ידיעתך, ואז אתה מפעיל את הסקריפט rsync וזה דוחף את השינויים האלה לגיבויים שלך, ובכך מוחק את כל המופעים של קובץ שאתה לא רוצה לקבל להיפטר מ?
3. -delete = זה אומר rsync למחוק קבצים שנמצאים ב- Directory2 שאינם ב- Directory1. אם תבחר להשתמש באפשרות זו, אני ממליץ גם להשתמש אפשרויות verbose, מהסיבות שהוזכרו לעיל.
באמצעות סקריפט לעיל, הנה פלט שנוצר באמצעות rsync כדי גיבוי Directory1 כדי Directory2. שים לב כי ללא בורר את השפה, לא תקבל מידע מפורט כזה.
צילום המסך לעיל אומר לנו File1.txt ו File2.jpg התגלו גם להיות חדש או שונה אחרת מן העותקים הקיימים Directory2, ולכן הם היו מגובים. Noob עצה: שימו לב לחתכים נגררים בסוף הספריות בפקודה rsync שלי - אלה נחוצים, הקפד לזכור אותם.
נלך על כמה מתגים שימושיים נוספים לקראת סוף המדריך הזה, אבל רק לזכור כי כדי לראות רשימה מלאה אתה יכול להקליד "גבר rsync" ולהציג רשימה מלאה של בוררים להשתמש.
זה מכסה את זה ככל גיבויים מקומיים מודאגים. כפי שאתה יכול להגיד, rsync הוא מאוד קל לשימוש. זה קצת יותר מורכב בעת השימוש בו כדי לסנכרן נתונים עם מארח חיצוני דרך האינטרנט, אבל אנחנו נראה לך דרך פשוטה, מהירה, ומאובטחת לעשות את זה.
שימוש ב- rsync עבור גיבויים חיצוניים
rsync יכול להיות מוגדר בכמה דרכים שונות עבור גיבויים חיצוניים, אבל אנחנו נלך על השיטה המעשית ביותר (גם הקלה ביותר והבטוחה ביותר) של Rsync מנהור באמצעות SSH. רוב השרתים ואפילו לקוחות רבים כבר SSH, וזה יכול לשמש עבור הגיבויים שלך rsync. אנו נראה לך את התהליך כדי לקבל אחד מכונת לינוקס גיבוי אחר ברשת המקומית. התהליך יהיה זהה גם אם אחד המארח היו באינטרנט איפשהו, רק לציין כי יציאת 22 (או מה זה יציאת יש לך SSH מוגדר), יהיה צורך להעביר על כל ציוד רשת בצד השרת של הדברים.
בשרת (המחשב שיקבל את הגיבויים), ודא ש- SSH ו- rsync מותקנים.
# yum-i להתקין ssh rsync
# sudo apt-get התקן ssh rsync
מלבד התקנת SSH ו- rsync בשרת, כל מה שצריך לעשות הוא להגדיר את המאגרים בשרת שבו אתה רוצה את הקבצים מגובים, ולוודא SSH נעול למטה. ודא המשתמש שאתה מתכנן להשתמש יש סיסמה מורכבת, וזה יכול להיות גם רעיון טוב כדי להחליף את היציאה כי SSH מקשיב (ברירת המחדל היא 22).
אנו נפעיל את אותה הפקודה שעשינו עבור שימוש rsync במחשב מקומי, אבל כוללים את התוספות הדרושות עבור מנהור rsync דרך SSH לשרת ברשת המקומית שלי. עבור המשתמש "חנון" התחברות ל "192.168.235.137" ושימוש במתגים אותו כנ"ל (-אחרון) נפעיל את הפעולות הבאות:
$ rsync -av -delete -e ssh / Directory1 / [email protected]: / Directory2 /
אם יש לך הקשבה של SSH ביציאה אחרת שאינה 22, עליך לציין את מספר היציאה, כגון בדוגמה זו שבה אני משתמש ביציאה 12345:
$ rsync -av -delete -e 'ssh-12345' / Directory1 / [email protected]: / Directory2 /
כפי שניתן לראות מ צילום מסך לעיל, את הפלט נתון בעת גיבוי על פני הרשת היא די דומה לזה כאשר גיבוי מקומי, הדבר היחיד הוא משתנה הפקודה אתה משתמש. שים לב גם כי הוא ביקש סיסמה. זה כדי לאמת עם SSH. ניתן להגדיר מפתחות RSA כדי לדלג על תהליך זה, אשר גם לפשט את rsync אוטומציה.
אוטומציה של גיבויים rsync
Cron ניתן להשתמש על לינוקס כדי להפוך את ביצוע פקודות, כגון rsync. באמצעות Cron, אנחנו יכולים לקבל מערכת לינוקס שלנו לפעול גיבויים לילי, או איך שאתה רוצה לעתים קרובות.
כדי לערוך את קובץ טבלת ה- cron עבור המשתמש שאליו אתה מחובר, הפעל:
$ crontab -e
יהיה עליך להכיר את vi כדי לערוך את הקובץ. הקלד "I" עבור הוספה ולאחר מכן התחל לערוך את קובץ הטבלה cron.
Cron משתמש בתחביר הבא: דקה של שעה, שעה ביום, יום החודש, חודש השנה, יום בשבוע, פקודה.
זה יכול להיות קצת מבלבל בהתחלה, אז תן לי לתת לך דוגמה. הפקודה הבאה תפעיל את הפקודה rsync כל לילה בשעה 10:
0 22 * * * rsync -av --delete / Directory1 / / Directory2 /
הראשון "0" מציין את דקה של שעה, ו "22" מציין 10 PM. מכיוון שאנו רוצים שפקודה זו תפעל מדי יום, נשאיר את שאר השדות בכוכביות ולאחר מכן נדביק את הפקודה rsync.
לאחר שתסיים את הגדרת Cron, הקש על בריחה, ולאחר מכן הקלד "wq" (ללא המרכאות) והקש enter. פעולה זו תשמור את השינויים ב- vi.
Cron יכול לקבל הרבה יותר מעמיק מזה, אבל כדי להמשיך על זה יהיה מעבר להיקף של הדרכה זו. רוב האנשים רק רוצה פשוט שבועי או גיבוי יומי, ומה יש לנו הראו שאתה יכול בקלות להשיג את זה. לקבלת מידע נוסף על Cron, עיין בדפי האיש.
תכונות שימושיות אחרות
עוד דבר שימושי שאתה יכול לעשות הוא לשים את הגיבויים לתוך קובץ zip. יהיה עליך לציין היכן אתה רוצה את קובץ ה- zip כדי להיות ממוקם, ולאחר מכן rsync כי במדריך לספריית הגיבוי שלך. לדוגמה:
$ zip /ZippedFiles/archive.zip / Directory1 / & & rsync -av --delete / ZippedFiles / / Directory2 /
הפקודה לעיל לוקח את הקבצים מ Directory1, מכניס אותם / ZipFiles / archive.zip ולאחר מכן rsyncs כי הספרייה כדי Directory2. בתחילה, אתה עשוי לחשוב כי שיטה זו תהיה יעילה עבור גיבויים גדולים, בהתחשב בקובץ zip ישתנה בכל פעם את השינוי הקל ביותר הוא עשה לקובץ. עם זאת, rsync מעביר רק את הנתונים שהשתנו, כך שאם קובץ ה- zip שלך הוא 10 GB, ולאחר מכן אתה מוסיף קובץ טקסט ל- directory1, rsync יידע שזה כל מה שהוספת (למרות שזה ב- zip) ולהעביר רק את כמה קילובייט של נתונים שהשתנו.
ישנן כמה דרכים שונות אתה יכול להצפין את הגיבויים שלך rsync. השיטה הקלה ביותר היא להתקין את ההצפנה על הכונן הקשיח עצמו (זה הקבצים שלך מגובים). דרך נוספת היא להצפין את הקבצים שלך לפני שליחתם לשרת מרוחק (או כונן קשיח אחר, מה יקרה לך לגבות). נסקור שיטות אלו במאמרים מאוחרים יותר.
לא משנה מה האפשרויות ואת התכונות שאתה בוחר, rsync מוכיחה להיות אחד כלי גיבוי יעיל ביותר צדדי עד כה, ואפילו סקריפט פשוט rsync יכול לחסוך ממך לאבד את הנתונים שלך.