27Jun

כיצד להשתמש rsync גיבוי הנתונים שלך על לינוקס

click fraud protection

דֶגֶל

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

ניתן להשתמש בו במערכות Windows, אך הוא זמין רק דרך יציאות שונות( כגון Cygwin), כך שבאופן זה נוכל לדבר על הגדרתו ב- Linux.ראשית, אנחנו צריכים להתקין / לעדכן את הלקוח rsync.על הפצות של Red Hat, הפקודה היא "yum install rsync" ובדביאן היא "sudo apt-get install rsync."

rsync1
הפקודה ב- Red Hat / CentOS, לאחר כניסה לשורש( שימו לב כי חלק מההפצות האחרונות של Red Hatלתמוך בשיטת sudo).

rsync4
הפקודה על דביאן / אובונטו.

באמצעות rsync עבור גיבויים מקומיים

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

$ rsync -av --delete /Directory1/ /Directory2/

instagram viewer

הקוד לעיל יסנכרן את התוכן של Directory1 ל- Directory2, ולא ישארו הבדלים בין השניים.אם rsync מוצא כי Directory2 יש קובץ directory1 לא, זה יהיה למחוק אותו.אם rsync מוצא קובץ שהשתנה, נוצר או נמחק ב- Directory1, הוא ישקף אותם שינויים ל- Directory2.

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

1. -A = רקורסיבי( recursive לתוך ספריות), קישורים( עותק symlinks כמו symlinks), perms( הרשאות שמירה), פעמים( לשמור על זמני שינוי), קבוצה( לשמור על הקבוצה), הבעלים( לשמור על הבעלים), לשמור על קבצי המכשיר ולשמור קבצים מיוחדים.
2. -v = verbose.הסיבה שאני חושב verbose חשוב הוא כל כך אתה יכול לראות בדיוק מה rsync מגבה.תחשוב על זה: מה אם הכונן הקשיח שלך הולך רע, ומתחיל למחוק קבצים ללא ידיעתך, ואז אתה מפעיל את הסקריפט rsync שלך והוא דוחף את השינויים האלה לגיבויים שלך, ובכך מוחק את כל המופעים של קובץ שאתה לא רוצה לקבללהיפטר מ?
3. -delete = זה אומר rsync למחוק קבצים שנמצאים ב- Directory2 שאינם ב- Directory1.אם תבחר להשתמש באפשרות זו, אני ממליץ גם להשתמש אפשרויות verbose, מהסיבות שהוזכרו לעיל.

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

rsync2

צילום המסך לעיל אומר לנו 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/

rsync3

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

אוטומציה של גיבויים rsync

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

כדי לערוך את קובץ הטבלה cron עבור המשתמש שאתה מחובר אליו, הפעל:

$ crontab -e

יהיה עליך להכיר את vi כדי לערוך קובץ זה.הקלד "I" עבור הכנס ולאחר מכן התחל לערוך את קובץ הטבלה cron.

Cron משתמש בתחביר הבא: דקה של שעה, שעה ביום, יום החודש, חודש השנה, יום בשבוע, פקודה.

זה יכול להיות קצת מבלבל בהתחלה, אז תן לי לתת לך דוגמה.הפקודה הבאה תפעיל את הפקודה rsync כל לילה בשעה 10:

0 22 * ​​* * rsync -av --delete /Directory1/ /Directory2/

הראשון "0" מציין את הדקה של השעה, ו "22" מציין 10.מכיוון שאנו רוצים שהפקודה הזו תפעל מדי יום, נשאיר את שאר השדות בכוכביות ולאחר מכן נדביק את הפקודה rsync.

לאחר שתסיים להגדיר את התצורה של Cron, הקש על בריחה ולאחר מכן הקלד ": wq"( ללא המרכאות) והקש enter.פעולה זו תשמור את השינויים ב- vi.

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

תכונות שימושיות נוספות

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

$ zip /ZippedFiles/ archive.zip /Directory1/ & &rsync -av --delete /ZippedFiles/ /Directory2/

rsync5

הפקודה לעיל לוקח את הקבצים מ Directory1, מעביר אותם /ZippedFiles/ archive.zip ולאחר מכן rsyncs כי הספרייה Directory2.בתחילה, אתה עשוי לחשוב כי שיטה זו תהיה יעילה עבור גיבויים גדולים, בהתחשב בקובץ zip ישתנה בכל פעם את השינוי הקל ביותר הוא עשה לקובץ.עם זאת, rsync רק מעביר את הנתונים שהשתנו, אז אם קובץ ה- zip שלך הוא 10 GB, ולאחר מכן אתה מוסיף קובץ טקסט ל- Directory1, rsync יידע שזה כל מה שהוספת( למרות שזה ב- zip) ולהעביר רק את הקילובייט כמהשל נתונים שהשתנו.

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

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