27Jun

כיצד להוציא קבצים מ - Rsync

click fraud protection

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

לא כולל רשימה בקובץ

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

rsync --exclude-מ = /path/to/ הדרת-קובץ /path/to/ מקור /path/to/ dest

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

נניח, למשל, אתה מנסה /data/web/ גיבוי ולשלוח אותו לשרת אחר, אז אתה משתמש בפקודה כמו השרת user @ rsync -a /data/web/: /backups/data/web/ כדי לגרום לזה לקרות. .. אבל אתה באמת רוצה לדלג סינכרון /data/web/cache/תיקייה.כאשר rsync הולך לבדוק ברשימת הדרה שלך עבור כל פריט הוא מסנכרן, זה לא יבדוק /data/web/cache/ מאז פקודת rsync המקורית מבוססת בתיקיית /data/web/.זה פשוט לבדוק "מטמון /" נגד הרשימה.אז תצטרך לשים "מטמון" לתוך הרשימה, לא את הנתיב המלא.דוגמה:

instagram viewer
rsync -a --exclude-מ = ההכללות /data/ /data/web/ /backups/

עכשיו להוציא מטמון /data/web/ ואת זמני /data/web/ מן rsync באמצעות פקודה זו, היינו להסיר את החלק /data/web/ של הנתיב ואת הקובץ ההכללות /data/ פשוט יכיל זו:

cache * temp *

שים לב שהוספתי את * אל הנתיב, כדי לוודא שהוא מתאים לכל דבר שמתחיל עם "מטמון" בהתחלה.ניתן להשתמש בתבנית הכוכבים הזו מסיבות שימושיות יותר אם רצית - נניח שברצונך לא לכלול את כל הקבצים מסוג. txt מפני סינכרון.אתה רוצה להתחיל את התבנית עם הכוכב לוודא כי תמיד תואם, ולהוסיף את זה:

*. txt

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

למעט פריט יחיד

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

rsync - exclude = יחסית /path/to/ אי הכללה / מקור / חור

הנתיב היחסי זהה צריך לחול כאן כאמור.