כיצד לשלוט בפקודת rsync בלינוקס

So beherrschen Sie den Befehl rsync unter Linux
⏱️ 1 min read

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

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

בתמונה שהוצגה למעלה, ניתן לראות כיצד בפעם הראשונה הועברו 104 מגה-בייט, בעוד שבשימוש השני היה צורך ב-31 ק”ב בלבד.

כיצד להתקין rsync במספר הפצות לינוקס

בהפצות מבוססות דביאן ודביאן כמו אובונטו אתה יכול להתקין rsync עם:

ב-Fedora, התקן עם:

ועל הפצות שנגזרות מ-RedHat (למשל CentOS):

כדי להתקין rsync על Arch Linux, השתמש בפקודה:

ב-openSUSE, השתמש ב:

אם זה לא כלול במאגרי ברירת המחדל שלך, ראה את דף ההתקנה של openSUSE rsync.

כיצד להשתמש ב-rsync כדי לסנכרן קבצים או ספריות מקומיות

התחביר הכללי של rsync הוא: rsync [options] /path/to/source /path/to/destination.

[options] מייצג אפשרויות שורת פקודה שתוכל למצוא במדריך:

אפשרויות שורת הפקודה rsync

ללחוץ ש כדי לצאת מהמדריך.

כדי להעתיק קובץ:

הפקודה לעיל מקבילה ל rsync /bin/ls /home/your_username. זה מעתיק את הפקודה “ls” לספרייה שבה אתה נמצא. כברירת מחדל זה צריך להיות /home/your_username. הנקודה . פירושו ספרייה נוכחית. שמות נתיבים יכולים להיות מוחלטים (/home/your_username/Downloads/chrome.zip) או ביחס לספרייה הנוכחית שלך (Downloads/chrome.zip)

כאשר אתה מתמודד עם קבצים גדולים מאוד, אתה יכול להשתמש בפקודה זו:

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

לְלֹא --appendההעברה תתחיל מאפס.

כדי לסנכרן ספריות:

פקודה לדוגמה:

אפקט סלאש נגרר ב-rsync (חשוב)

בפקודה הקודמת, שימו לב שהנתיב לספריית המקור אינו מכיל קו נטוי / (/bin לעומת. /bin/) ללא קו נטוי נגרר, rsync מעתיק את הספרייה עצמה. לאחר מכן rsync -av /bin . מביא למה שמיוצג בתמונה הבאה.

rsync-without-trailing-slash

כאשר נעשה שימוש בקו נטוי נמשך, rsync מעתיק את התוכן של ספרייה זו. במקרה זה, כל קובץ ב /bin יתפזר בספריית היעד. לאחר מכן rsync -av /bin/ . יביא למה שמיוצג בתמונה הבאה.

rsync-with-trailing-slash

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

כיצד להשתמש ב-rsync כדי לסנכרן עם מיקומים מרוחקים (למשל שרתים)

מה שתואר בסעיף הקודם תקף כאשר עובדים עם מיקומים מרוחקים. ההבדל היחיד הוא שעליך להוסיף תחילה את שם המשתמש לכניסה ואת כתובת המיקום המרוחק. לשלוח את שלך /bin ספרייה למחשב מרוחק, השתמש ב:

rsync מתחבר דרך OpenSSH. המשמעות היא שעליך להגדיר את שרת OpenSSH ואת אישורי הכניסה ביעד המרוחק מראש. שים לב ש your_username מתייחס לשם המשתמש שנוצר בשרת. זה עשוי להיות שונה משם המשתמש שיש לך במחשב המקומי שלך.

אם יש לך שם דומיין ומפנה אותו ל-IP של השרת, תוכל להשתמש בדומיין בפקודה:

עבור העברות גדולות, כדאי גם לדחוס את הנתונים לפני שליחתם דרך הרשת, הוספת ה -z פָּרָמֶטֶר:

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

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

סיכום

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

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

You may also like...