כפי ששמו מרמז, rsync הוא כלי סנכרון. בפעם הראשונה שאתה משתמש בו, הוא פשוט מעתיק קבצים וספריות ממיקום אחד לאחר. השימושים הבאים, לעומת זאת, מסנכרנים רק את ההבדלים בין המיקומים הללו. אז אם תוסיף קובץ לספריית המקור, rsync פשוט יעתיק את הקובץ החדש ליעד. זה חוסך הרבה זמן ורוחב פס, במיוחד בעת העתקה למיקום מרוחק.
תאר לעצמך שיש לך 50GB של נתונים שאתה צריך כדי לסנכרן עם שרת מרוחק. אתה יכול לתזמן את rsync לפעול מדי יום. במקום להעתיק את כל ה-50GB ללא הגבלת זמן, השירות פשוט ישלח את ההבדלים. זה יכול לומר שהוא צריך להעלות רק כמה מגה-בייט של נתונים בכל יום במקום ג’יגה-בייט.
בתמונה שהוצגה למעלה, ניתן לראות כיצד בפעם הראשונה הועברו 104 מגה-בייט, בעוד שבשימוש השני היה צורך ב-31 ק”ב בלבד.
תוכן העניינים
כיצד להתקין rsync במספר הפצות לינוקס
בהפצות מבוססות דביאן ודביאן כמו אובונטו אתה יכול להתקין rsync עם:
sudo apt install rsync
ב-Fedora, התקן עם:
dnf install rsync
ועל הפצות שנגזרות מ-RedHat (למשל CentOS):
yum install rsync
כדי להתקין rsync על Arch Linux, השתמש בפקודה:
pacman -S rsync
ב-openSUSE, השתמש ב:
zypper install rsync
אם זה לא כלול במאגרי ברירת המחדל שלך, ראה את דף ההתקנה של openSUSE rsync.
כיצד להשתמש ב-rsync כדי לסנכרן קבצים או ספריות מקומיות
התחביר הכללי של rsync הוא: rsync [options] /path/to/source /path/to/destination
.
[options]
מייצג אפשרויות שורת פקודה שתוכל למצוא במדריך:
man rsync
ללחוץ ש כדי לצאת מהמדריך.
כדי להעתיק קובץ:
rsync /bin/ls .
הפקודה לעיל מקבילה ל rsync /bin/ls /home/your_username
. זה מעתיק את הפקודה “ls” לספרייה שבה אתה נמצא. כברירת מחדל זה צריך להיות /home/your_username
. הנקודה .
פירושו ספרייה נוכחית. שמות נתיבים יכולים להיות מוחלטים (/home/your_username/Downloads/chrome.zip
) או ביחס לספרייה הנוכחית שלך (Downloads/chrome.zip
)
כאשר אתה מתמודד עם קבצים גדולים מאוד, אתה יכול להשתמש בפקודה זו:
rsync -P /path/to/file /path/to/destination
זה יציג את ההתקדמות ויאפשר לך לחדש העברה מופרעת. אם אתה צריך להמשיך, השתמש ב:
rsync -P --append path/to/file /path/to/destination
לְלֹא --append
ההעברה תתחיל מאפס.
כדי לסנכרן ספריות:
rsync -av /path/to/source /path/to/destination
פקודה לדוגמה:
rsync -av /bin .
אפקט סלאש נגרר ב-rsync (חשוב)
בפקודה הקודמת, שימו לב שהנתיב לספריית המקור אינו מכיל קו נטוי /
(/bin
לעומת. /bin/
) ללא קו נטוי נגרר, rsync מעתיק את הספרייה עצמה. לאחר מכן rsync -av /bin .
מביא למה שמיוצג בתמונה הבאה.
כאשר נעשה שימוש בקו נטוי נמשך, rsync מעתיק את התוכן של ספרייה זו. במקרה זה, כל קובץ ב /bin
יתפזר בספריית היעד. לאחר מכן rsync -av /bin/ .
יביא למה שמיוצג בתמונה הבאה.
חשוב מאוד לזכור את ההבדל הזה, מכיוון ששימוש ב-TAB למילוי אוטומטי של שמות ספריות מוסיף לוכסן נגרר בסוף. אז זכור זאת כדי להימנע מיצירת בלבול בספריית היעד.
כיצד להשתמש ב-rsync כדי לסנכרן עם מיקומים מרוחקים (למשל שרתים)
מה שתואר בסעיף הקודם תקף כאשר עובדים עם מיקומים מרוחקים. ההבדל היחיד הוא שעליך להוסיף תחילה את שם המשתמש לכניסה ואת כתובת המיקום המרוחק. לשלוח את שלך /bin
ספרייה למחשב מרוחק, השתמש ב:
rsync -av /bin your_username@203.0.113.10:/home/your_username
rsync מתחבר דרך OpenSSH. המשמעות היא שעליך להגדיר את שרת OpenSSH ואת אישורי הכניסה ביעד המרוחק מראש. שים לב ש your_username
מתייחס לשם המשתמש שנוצר בשרת. זה עשוי להיות שונה משם המשתמש שיש לך במחשב המקומי שלך.
אם יש לך שם דומיין ומפנה אותו ל-IP של השרת, תוכל להשתמש בדומיין בפקודה:
rsync -av /bin your_username@example.com:/home/your_username
עבור העברות גדולות, כדאי גם לדחוס את הנתונים לפני שליחתם דרך הרשת, הוספת ה -z
פָּרָמֶטֶר:
rsync -avz /bin your_username@example.com:/home/your_username
ניתן להשמיט את פרמטר הדחיסה בעת העלאת קבצים שכבר דחוסים (קבצי אודיו כמו MP3, סרטונים, תמונות JPEG). אי אפשר לדחוס אותם יותר, אז תבזבז זמן בשימוש -z
לגבי אלה.
כדי להעתיק קבצים מהיעד המרוחק למחשב המקומי, פשוט הפוך את המיקומים:
rsync -avz your_username@example.com:/bin /home/your_username
סיכום
זה מכסה את פקודות rsync החשובות ביותר שאתה צריך לדעת. אם אתה צריך שליטה רבה יותר על אופן הסנכרון של ספריות, עיין ב- מדריך rsync באינטרנט וגלול למטה כמה עמודים עד שתמצא את “סיכום האפשרויות”.