Linux/Mac Terminal Tutorial: How To Use The rsync Command - Sync Files Locally and Remotely
תוכן עניינים:
- לפני שאתה מתחיל
- אל תכלול קובץ ספציפי
- אל תכלול מדריך ספציפי
- אל תכלול קבצים או ספריות מרובים
- אל תכלול קבצים או ספריות מרובים על בסיס תבנית
- סיכום
Rsync הוא כלי שורת פקודה מהיר ורב-תכליתי המסנכרן קבצים ותיקיות בין שני מיקומים על גבי מעטפת מרוחקת.
בעזרת Rsync אתה יכול לשקף נתונים, ליצור גיבויים מצטברים ולהעתיק קבצים בין מערכות. בעת העתקת נתונים, ייתכן שתרצה לכלול קובץ או ספריות אחד או יותר על סמך שמם או מיקומם.
במדריך זה, נראה לך כיצד להחריג קבצים וספריות באמצעות rsync.
לפני שאתה מתחיל
עליך להיות בעל ידע בסיסי כיצד פועל rsync.
בדוגמאות שלהלן נשתמש ב- rsync עם האפשרות
-a
. זה אומר ל- rsync לסנכרן ספריות באופן רקורסיבי, להעביר מכשירים מיוחדים ולחסום ולשמור על קישורים סמלים, זמני שינוי, קבוצה, בעלות והרשאות.
בעת אי הכללת קבצים או ספריות, עליך להשתמש בנתיבים היחסיים שלהם לספריית המקורות.
ישנן שתי אפשרויות לציין את הקבצים והספריות שברצונך לכלול:
- משורת פקודה, באמצעות האפשרות - כלול. מתוך קובץ, השתמש באפשרות -
--exclude-from
.
אל תכלול קובץ ספציפי
כדי לא לכלול קובץ ספציפי, העבירו את הנתיב היחסי לקובץ לאפשרות -
--exclude
.
בדוגמה הבאה הקובץ
src_directory/file.txt
לא יועבר:
rsync -a --exclude 'file.txt' src_directory/ dst_directory/
אל תכלול מדריך ספציפי
אי הכללת ספרייה ספציפית זהה לאי הכללת קובץ, פשוט העבירו את הנתיב היחסי לספריה לאפשרות -
--exclude
כמוצג להלן:
rsync -a --exclude 'dir1' src_directory/ dst_directory/
rsync -a --exclude 'dir1/*' src_directory/ dst_directory/
אל תכלול קבצים או ספריות מרובים
כדי לא לכלול קבצים או ספריות מרובים פשוט ציין אפשרויות - אי הכללה מרובות:
rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/
rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/
אם מספר הקבצים ו / או הספריות שברצונך לבצע אי הכללה גדול, במקום להשתמש באפשרויות מרובות -
--exclude
תוכל לציין את הקבצים והספריות שברצונך לכלול בקובץ ולהעביר את הקובץ ל
--exclude-from
אפשרות.
הפקודה שלמטה עושה בדיוק אותו דבר כמו זו שלמעלה:
rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/
exclude-file.txt
אל תכלול קבצים או ספריות מרובים על בסיס תבנית
בעזרת rsync אתה יכול גם לכלול קבצים וספריות על בסיס תבנית התואמת לשם הקובץ או הספריה.
לדוגמה, כדי לכלול את כל קבצי ה-
.jpg
שתפעיל:
rsync -a --exclude '*.jpg*' src_directory/ dst_directory/
זה קצת יותר מסובך להחריג את כל הקבצים והמדריכים האחרים למעט אלה התואמים דפוס מסוים. נניח שאתה רוצה לכלול את כל הקבצים והספריות האחרים למעט הקבצים המסתיימים ב-
.jpg
.
אפשרות אחת היא להשתמש בפקודה הבאה:
rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/
בעת שימוש באפשרות כלול / אי הכללה מרובה, כלל ההתאמה הראשון חל.
-
--include='*.jpg'
- ראשית אנו כוללים את כל קבצי ה-.jpg
.--include='*/'
- אז אנו כוללים את כל הספריות בספריה שלsrc_directory
. ללא rsync זה יעתיק רק קובצי*.jpg
בספרייה ברמה העליונה.-m
- מסיר את הספריות הריקות.
אפשרות נוספת תהיה לצרף את הפלט של פקודת החיפוש ל- rsync:
find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/
-
-printf %P\\0\\n
- יסיר אתsrc_directory/
מנתיב הקובץ. פירושו - קבצים--files-from=-
- כולל רק את הקבצים מהקלט הרגיל (קבצים שהועברו מפקודת החיפוש).
סיכום
במדריך זה למדת כיצד להחריג קבצים וספריות בעת העברת נתונים באמצעות Rsync. יש עוד הרבה דברים ללמוד על Rsync בדף מדריך למשתמש של Rsync.
כיצד להעתיק קבצים וספריות בלינוקס

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

במדריך זה, נראה לך כיצד להשתמש בפקודת rm כדי להסיר קבצים וספריות באמצעות דוגמאות והסברים על אפשרויות ה- rm הנפוצות ביותר.
כיצד להעביר קבצים וספריות בלינוקס (פקודת mv)

העברת קבצים וספריות היא אחת המשימות הבסיסיות ביותר שלעתים קרובות עליכם לבצע במערכת לינוקס. במדריך זה נסביר כיצד להשתמש בפקודת mv כדי להזיז קבצים וספריות.