15 דוגמאות Rsync

15 Dwgm Wt Rsync



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

יתרונות הפקודה 'Rsync'.

  1. זה מהיר יותר מהכלים האחרים מכיוון שהוא מעתיק רק את הקבצים ממיקום המקור למיקום היעד ששונו או לא קיימים במיקום היעד.
  2. זה תומך בהעברה לא מלאה.
  3. זה דורש פחות רוחב פס מכיוון שהוא דוחס את הנתונים במהלך השידור.
  4. זה מקטין את התקורה של השידור מכיוון שניתן להעביר את הנתונים הפחות חשובים ללא הצפנה.

תחביר

התחביר של הפקודה 'rsync' ניתן בקטע הבא:

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

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







אפשרויות שימושיות של הפקודה 'Rsync'.

כמה אפשרויות נפוצות של הפקודה 'rsync' מוסברות בהמשך:



אוֹפְּצִיָה מַטָרָה
-עם הוא משמש לדחיסת הנתונים במהלך השידור.
הוא משמש כדי לסנכרן את הנתונים באופן רקורסיבי מבלי לשמור על הרשאת קובץ כלשהי.
הוא משמש כדי לסנכרן את הנתונים באופן רקורסיבי על ידי שמירת כל הרשאות הקובץ.
הוא משמש לשמירה על גיבוי של הנתונים במהלך השידור.
הוא משמש להצגת הפלט בפורמט מילולי.
-עמ' הוא משמש להצגת התקדמות ההעברה.
הוא משמש כדי לבדוק אם הסנכרון עובד או לא לפני העברת הקבצים או התיקיות.

רשימה של 15 דוגמאות 'Rsync'.

  1. העבר קובץ ותיקיה בודדים באופן מקומי
  2. העבר מספר קבצים ותיקיות באופן מקומי
  3. העבר קובץ ותיקיה בודדים מרחוק
  4. העברת קבצים ותיקיות מרובים מרחוק
  5. הצג את התקדמות ההעברה
  6. דחוס את הנתונים במהלך ההעברה
  7. העבר עם מגבלת רוחב הפס
  8. העבר את הקבצים והתיקיות באופן רקורסיבי
  9. העבר עם מגבלת הגודל המינימלי
  10. העבר עם מגבלת הגודל המקסימלי
  11. העבר את הקבצים מהסוג המסוים
  12. הצג את ההבדלים בין קובצי המקור והיעד
  13. כלול או אי הכללה של הקבצים במהלך ההעברה
  14. סנכרן את הנתונים במצב יבש
  15. מחק את קבצי המקור והתיקיות לאחר ההעברה

העבר קובץ ותיקיה בודדים באופן מקומי

הפעל את הפקודה 'ls' כדי להציג את רשימת הקבצים והתיקיות של המיקום הנוכחי. לאחר מכן, הפעל את הפקודה 'rsync' כדי להעביר את קובץ 'employees.txt' לקובץ 'employees_copy.txt' באופן מקומי. הפעל שוב את הפקודה 'ls' כדי לבדוק אם הקובץ הועבר כראוי או לא.



$ ls
$ rsync meiwurkers.txt meiwurkers_copy.txt
$ ls

הפלט הבא מראה שקובץ 'employee.txt' הועבר בהצלחה:





נניח שהתוכן של התיקיה הזמנית צריך לעבור לתיקיית tempdir שבה קיים קובץ 'courses.txt' בשתי התיקיות. הפעל את הפקודה 'ls temp' כדי לבדוק את תוכן התיקיה temp. לאחר מכן, הפעל את הפקודה 'cat temp/courses.txt' כדי לבדוק את התוכן של קובץ זה. לאחר מכן, הפעל את הפקודה 'ls tempdir' כדי לבדוק את התוכן של תיקיית tempdir. לאחר מכן, הפעל את הפקודה 'cat tempdir/courses.txt' כדי לבדוק את התוכן של קובץ זה.



$ ls טמפ'
$ cat temp/courses.txt
$ lstempdir
$ cat tempdir/courses.txt

הפלט מראה שהתוכן של קובץ 'courses.txt' של התיקיות temp ו-tempdir שונה במקצת וקובץ 'courses.txt' של תיקיית temp מכיל יותר נתונים מקובץ 'courses.txt' של תיקיית tempdir .

הפעל את הפקודה הבאה כדי להעביר את התוכן של התיקיה tempdir לתיקיית tempdir ובדוק את התוכן של קובץ 'courses.txt' של תיקיית tempdir כדי לוודא שהקובץ מעודכן כראוי או לא:

$ rsync -a temp/ tempdir/
$ lstempdir
$ cat tempdir/courses.txt

הפלט הבא מראה שתוכן התיקיה tempdir מועבר כראוי לתיקיית tempdir והתוכן של קובץ 'courses.txt' של תיקיית tempdir מתעדכן כראוי:

העבר מספר קבצים ותיקיות באופן מקומי

ניתן להשתמש בפקודה 'rsync' להעברת מספר קבצים ותיקיות באופן מקומי. הפעל את הפקודה הבאה כדי להעביר את הקבצים 'ping1.bash' ו-'ping2.bash' לתיקיית tempdir ולבדוק את התוכן של תיקיית tempdir לאחר ההעברה. האפשרות -v משמשת עם הפקודה 'rsync' כדי להציג את הפלט בפורמט מילולי:

$ rsync -v ping1.bash ping2.bash tempdir/
$ lstempdir

הפלט הבא מראה שמספר קבצים מועברים כראוי לתיקיית tempdir:

הפעל את הפקודות הבאות כדי לבדוק את תוכן התיקיות temp, tempdir ו-test ולהעביר את תוכן התיקיה test ו-tempdir לתיקיית temp:

$ ls טמפ'
$ lstempdir
מבחן $ ls
$ rsync -av test/ tempdir/ temp/
$ ls טמפ'

הפלט מראה שתוכן התיקיות test ו-tempdir מועבר בהצלחה לתיקיית temp. הקבצים 'customers.csv', 'ping1.bash' ו-'ping2.bash' מתווספים כקבצים חדשים לתיקיה הזמנית:

העבר קובץ ותיקיה בודדים מרחוק

עליך להתקין ולהגדיר את שרת SSH במיקום המרוחק כדי להעביר את הקבצים והתיקיות מרחוק. אתה יכול לבדוק את זה הדרכה כדי להגדיר את שרת SSH.

הפעל את הפקודה הבאה כדי לבדוק את גודל הקובץ 'courses.txt' של המיקום הנוכחי:

ls -la courses.txt

הפלט מראה שגודל הקובץ 'courses.txt' הוא 65 בתים:

הפעל את הפקודה הבאה כדי להעביר את ה-'courses.txt' ל- /home/ubuntu/courses/ תיקיה של המיקום המרוחק, ubuntu@192.168.0.101. עליך לספק את סיסמת השורש של המחשב המרוחק לפני העברת הקובץ:

rsync -v courses.txt  ubuntu@192.168.0.101:/home/ubuntu/courses/

הפלט הבא מראה שקובץ 'courses.txt' מועבר למחשב המרוחק כהלכה וגודל הקובץ הוא 65 בתים:

הפעל את הפקודה הבאה כדי להעביר את התיקיה הזמנית ל- /home/ubuntu/courses/ תיקיה של המיקום המרוחק, ubuntu@192.168.0.101. עליך לספק את סיסמת השורש של המחשב המרוחק לפני העברת הקובץ כמו הפקודה הקודמת.

rsync -av temp/ ubuntu@192.168.0.101:/home/ubuntu/courses/

הפלט הבא מראה שתוכן התיקיה הזמנית מועבר למכשיר המרוחק כראוי:

העברת קבצים ותיקיות מרובים מרחוק

הפקודה הבאה 'rsync' מעבירה את הקבצים 'customers.csv' ו-'department.json' ל- /home/Ubuntu/files/ תיקיה של המיקום המרוחק, ubuntu@192.168.0.101.

rsync -av customers.csv department.json ubuntu@192.168.0.101:/home/ubuntu/files/

הפלט הבא מראה שמספר קבצים מועברים בהצלחה למיקום המרוחק:

הפקודה הבאה 'rsync' מעבירה את התוכן של תיקיות הזמניות והבדיקה וקובץ 'department.json' ל- /home/Ubuntu/files/ תיקיה של המיקום המרוחק, ubuntu@192.168.0.101.

rsync -av temp/ test/ department.json ubuntu@192.168.0.101:/home/ubuntu/files/

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

הצג את התקדמות ההעברה

הפעל את הפקודה 'rsync' עם האפשרות –progress כדי להעביר את התוכן של תיקיית tempdir לתיקיית temp_copy עם מידע ההתקדמות.

rsync -a tempdir/ temp_copy --progress

הפלט הבא מראה שספריית temp_copy נוצרה באופן מקומי והתוכן של תיקיית tempdir מועבר בהצלחה לתיקיית temp_copy:

דחוס את הנתונים במהלך ההעברה

הפעל את הפקודה 'rsync' הבאה עם האפשרות –z כדי לדחוס ולהעביר את ספריית tempdir לספריית הבדיקה באופן מקומי:

rsync -za tempdir/test/

הפלט הבא מראה שהספרייה הדחוסה מועברת בהצלחה מקומית:

העבר עם מגבלת רוחב הפס

הפעל את הפקודה 'rsync' הבאה עם האפשרות –bwlimit עם ערך 100 כדי להעביר את הקובץ /etc/passwd לתיקיה הזמנית באופן מקומי:

rsync -v --bwlimit=100 etc/passwd temp/

הפלט הבא מראה שקובץ passwd הועבר בהצלחה:

העבר את הקובץ והתיקיה באופן רקורסיבי

הפעל את הפקודה 'rsync' הבאה עם האפשרות –rv כדי להעביר את תיקיית הבדיקה לתיקיית test_bak באופן מקומי:

rsync -rv test/ test_bak/

הפלט הבא מראה שתיקיית הבדיקה הועברה בהצלחה לתיקיית test_bak:

העבר עם מגבלת הגודל המינימלי

ניתן להגביל את העברת הקבצים והתיקיות באמצעות הפקודה 'rsync' באמצעות האפשרות –min-size כדי להגדיר את מגבלת הגודל המינימלי של העברת הקבצים והתיקיות. הפעל את הפקודה הבאה 'ls -la tempdir' כדי לבדוק את הגודל של כל קובץ ותיקיה של תיקיה זו. לאחר מכן, הפעל את הפקודה 'rsync' כדי להעביר את התוכן של תיקיית tempdir לתיקיית tempdir_bak עם מגבלת הגודל המינימלית.

ls -la tempdir
rsync -av --min-size='245B' tempdir/tempdir_bak

הפלט הבא מראה שקיימים שני קבצים בתיקיית tempdir התואמת לגודל המינימלי. אלה הם 'ping1.bash' (248 בתים) ו-'test.txt' (34504 בתים). קבצים אלה מועברים לתיקיית tempdir_bak ושאר הקבצים של תיקיית tempdir מושמטים:

העבר עם מגבלת הגודל המקסימלי

ניתן להגביל את העברת הקבצים והתיקיות באמצעות הפקודה 'rsync' באמצעות האפשרות –max-size כדי להגדיר את מגבלת הגודל המקסימלי של העברת הקבצים והתיקיות. הפעל את הפקודה הבאה 'ls -la temp' כדי לבדוק את הגודל של כל קובץ ותיקיה של תיקיה זו. לאחר מכן, הפעל את הפקודה 'rsync' כדי להעביר את התוכן של תיקיית ה-temp לתיקיית temp_bak עם מגבלת הגודל המקסימלית.

ls -la temp
rsync --max-size='250B' temp/ temp_bak/

הפלט הבא מראה שקיימים ארבעה קבצים בתיקייה הזמנית התואמת את מגבלת הגודל המקסימלי. אלה הם 'courses.txt' (65 בתים), 'employees.csv' (361 בתים), 'ping1.bash' (248 בתים) ו-'ping2.bash' (244 בתים). קבצים אלה מועברים לתיקיית temp_bak והקבצים האחרים בתיקיית ה-temp מושמטים:

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

ניתן להגדיר את סוג הקובץ שיעביר על ידי ציון הסיומת של הקובץ בפקודה 'rsync'. הפעל את הפקודה 'rsync' הבאה כדי להעביר את כל קבצי הטקסט של התיקייה הזמנית לתיקיית mydir. כאן, הסיומת של קובץ הטקסט מסומנת באמצעות '*.txt':

rsync -v temp/*.txt mydir/

הפלט הבא מראה ששני קבצי טקסט, 'courses.txt' ו-'test.txt', מועברים לתיקיית mydir, ושאר הקבצים של התיקיה הזמנית מושמטים:

הצג את ההבדלים בין קובצי המקור והיעד

כאשר הקבצים או התיקיות מועברים ממיקום אחד למקום אחר באופן מקומי או מרחוק, שני המיקומים עשויים להכיל את אותם קבצים או תיקיות. ניתן לבחון את ההבדלים בין המקור ליעד במהלך השידור באמצעות האפשרות -i עם הפקודה 'rsync'. הפעל את הפקודות 'חתול' הבאות כדי לבדוק את תוכן המקור וקובץ היעד לפני ההעברה. כאן, הקובץ 'courses.txt' מועבר לתיקיה הזמנית.

cat courses.txt
cat temp/courses.txt
rsync -avi courses.txt temp/

הפלט הבא מראה שקובץ 'courses.txt' של המקור והיעד שונים במקצת. הפלט של הפקודה 'rsync' מראה את ההבדל בין הקבצים:

סנכרן את הנתונים במצב יבש

אם אתה רוצה לדעת אילו קבצים ותיקיות מועברים על ידי הפקודה 'rsync' לפני ההעברה בפועל, עדיף להפעיל את הפקודה 'rsync' עם אפשרות –dry-run או אפשרות –n. כאשר הפקודה 'rsync' מופעלת עם אפשרות זו, היא בודקת אילו קבצים או תיקיות מועתקים מתיקיית המקור לתיקיית היעד אך שומרת על תיקיית היעד ללא שינוי. הפעל את הקובץ 'ls –la department.json' כדי לבדוק את גודל הקובץ. לאחר מכן, הפעל את הפקודה 'rsync' במצב –dry-run כדי לבדוק את העברת ה-'department.json' לתיקיית הזמנית.

ls -la department.json
rsync -v --dry-run department.json temp/

הפלט הבא מראה שגודל הקובץ 'department.json' הוא 1172 בתים. גודל הקובץ מראה 1172 בתים לאחר ביצוע הפקודה 'rsync' עם האפשרות –dry-run:

כלול או אי הכללה של הקבצים במהלך ההעברה

ניתן לסנן את סוג הקובץ בזמן ההעברה ממיקום המקור למיקום היעד באמצעות האפשרויות –include ו-exclude. האפשרות 'optionsinclude' משמשת להגדרת הסיומת של אותם קבצים שיועברו מהמקור ליעד. האפשרות –exclude משמשת להגדרת הסיומת של אותם קבצים שלא יועברו מהמקור ליעד.

הפעל את התיקיה הבאה 'ls temp' כדי לבדוק את תוכן התיקיה הזמנית. לאחר מכן, הפעל את הפקודה 'rsync' עם האפשרויות –include ו-exclude. לפי הפקודה, כל קבצי ה-CSV של התיקיה הזמנית מועברים לתיקיית הקבצים וכל קבצי הטקסט של התיקיה הזמניים מושמטים בזמן ההעברה. לאחר מכן, הפעל את הפקודה 'ls files' כדי לבדוק אילו קבצים מועברים מהתיקייה הזמנית לתיקיית הקבצים.

זה טמפ'
rsync -a temp/ files/ --include=*.csv --exclude=*.txt
ls קבצים

הפלט הבא מראה שהתיקיה הזמנית מכילה שני קבצי CSV, שני קבצי טקסט ושני קובצי BASH. תיקיית הקבצים ריקה לפני ההעברה ושני קובצי CSV ושני קובצי BASH מועברים:

מחק את קבצי המקור והתיקיות לאחר ההעברה

בפקודות הקודמות כל 'rsync', קבצי המקור והתיקיות נשארים במיקום המקור לאחר ההעברה למיקום היעד. אבל לפעמים, זה דורש העברת הקבצים והתיקיות לצמיתות למיקום היעד. ניתן לבצע משימה זו באמצעות האפשרות –remove-source-files עם הפקודה 'rsync'. הפעל את הפקודה 'ls' כדי לבדוק את כל הקבצים והתיקיות של המיקום הנוכחי. הפעל את הפקודה 'ls temp' כדי לבדוק את הקבצים והתיקיות של התיקיה הזמנית. לאחר מכן, הפעל את הפקודה 'rsync' עם האפשרות -remove-source-files כדי למחוק את הקבצים והתיקיות של מיקום המקור לאחר השלמת ההעברה. הפעל שוב את הפקודה 'ls' כדי לבדוק אם קובץ המקור הוסר ממיקום המקור או לא.

ls
זה טמפ'
rsync  employee.csv temp/ --remove-source-files
ls

הפלט הבא מראה שקובץ 'employees.csv' של המיקום הנוכחי מועבר לתיקיית ה-temp וקובץ 'employees.csv' מוסר ממיקום המקור לאחר ההעברה:

סיכום

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