זוהי הפקודה mddiff שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
mddiff - מחשב הבדל עבור כתובות דואר
תַקצִיר
mddiff [--max-mailno הרבה] [--db-קובץ dbf] [-l|--רשימה] [-s|--קישור סימלי]
[--לא לכלול globexpr] [-v|--מִלוּלִי] [-d|--ריצה יבשה]
[-n|--לא-מחיקה] [--אין לזוז] [- עזרה] [--sha1sum] שבילים
תיאור
mddiff מחשב את הדלתא מסטטוס ישן של maildir (נרשם בעבר ב-a
קובץ תמיכה, הנקרא קובץ db) והסטטוס הנוכחי, יוצר קבוצה של פקודות (א
diff) שתוכנת צד שלישי יכולה להחיל לסנכרן עותק (בסופו של דבר מרוחק) שלו
ה-maildir.
If שבילים הוא שם קובץ בודד, והקובץ הזה הוא fifo, mddiff קורא ממנו שמות קבצים
מופרד על ידי קו חדש ומוציא את sha1 של הכותרת והגוף שלו מופרדים על ידי רווח.
$ mddiff /tmp/fifo_for_mddiff
806a0ffe4f29766effd764... 463e543da9dac8e298...
582cbb6a5cd3ce13965c8c... 8fa60a7458b1157193...
...
If שבילים הוא שם קובץ בודד, והקובץ הזה הוא fifo, וה- -s האופציה עברה,
mddiff קורא מאותו פיפו שתי שורות בכל פעם, בהתאמה שם מקור ויעד
שֵׁם. לאחר מכן הוא יוצר קישור סימול בשם כשם היעד המצביע על שם המקור.
אם צריך ליצור כמה מילונים כדי ליצור את ה-Symlink, זה גם נעשה.
mddiff ידפיס 'OK' על stdout כדי לאותת על הצלחה, 'ERROR' כדי לאותת על שגיאה.
If שבילים היא רשימה של ספריות, mddiff מציג רשימה של פעולות שעל הלקוח לבצע
לבצע כדי לסנכרן עותק של אותם מדריכי דואר. מערכת פעולות זו היא ביחס ל-a
המצב הקודם של ה-maildir המאוחסן בקובץ db. מעבירים את ספריות הקלט
באופן רקורסיבי, וכל קובץ שנתקל בתוך ספריות בשם cur/ ו-new/ הוא a
הודעת דואר פוטנציאלית (אם היא לא מכילה \n\n היא מדלגת).
$ mddiff ~/דואר/
הוסף ~/Mail/cur/1239038050.14937_1.garfield:2,S 66532ebb05b252e...
...
כל לקוח (המשתמש בנקודת קצה mddiff לסנכרון) חייב להשתמש בקובץ db אחר, ו
קובץ db קשור בקפדנות לקבוצת הספריות שניתנה כטיעונים, וצריך
לא לשמש עם ערכת ספרייה אחרת. הוספת פריטים לסט הספריות בטוחה,
בזמן שהסרתם לא תעשה מה שאתה רוצה (נוצרות פעולות מחיקה).
mddiff אינו משנה את dbf קובץ, הוא יוצר קובץ חדש בשם dbf.new. זה תלוי ב
הכלי ברמה הגבוהה יותר שרת smd(1) לשנות את שם dbf.new ל dbf במקרה של נקודת הקצה השנייה
החיל בהצלחה את ההבדל.
אל האני --לא לכלול אפשרות מספרת mddiff להתעלם מהכל שבילים תואם את הנתון גוש(7)
ביטוי. אפשרות זו יכולה לעבור מספר פעמים. ההתאמה מתבצעת באמצעות
fnmatch(3) ללא דגלים מיוחדים, לפיכך '*' ו-'?' להתאים לכל תו כולל '/'.
ההתאמה מתבצעת כאשר נכנסים לספרייה. אם ההתאמה הצליחה, ה
מדלגים על הספרייה וכל ספריות המשנה שלה.
אל האני --לא-מחיקה אפשרות מספרת mddiff כדי לא להוציא פעולת DELETE עבור קבצים ש
לְהֵעָלֵם. שים לב שפעולת מחיקה נוצרת בכל מקרה עבור קבצים שהועברו (כלומר
העבר הוא COPY פלוס DELETE). התוצאה היא שמחיקות אינן מופצות לאחר
נקודת סיום.
אפשרויות
--max-mailno הרבה
הערכה של מספר הודעות דואר מרבי (ברירת המחדל למספר ההודעות ב-
db-file + 1000 או 500000 אם אין קובץ db). אולי תרצה להפחית את זה עבור
הריצה הראשונה על מערכות קטנות. זה בכל מקרה מוגדל אוטומטית בעת הצורך
--db-קובץ dbf
שם המטמון עבור נקודת הקצה (ברירת מחדל db.txt)
--לא לכלול globexpr
תכלול שבילים עיבוד הביטוי הנתון
--sha1sum
מתנהג כמו כלי השירות sha1sum
--mkdir-p
מתנהג כמו mkdir -p
--mkfifo
מתנהג כמו mkfifo
-l --רשימה
רשום רק את תיבות הדואר הכלולות באופן רקורסיבי שבילים
-s --קישור סימלי
צור סימלינקים עבור שבילים קרא ב-fifo הקלט
-v --מִלוּלִי
הגדל את מילולי התוכנית (מודפס על stderr)
-d --ריצה יבשה
אל תיצור קובץ db חדש
-n --לא-מחיקה
אל תעקוב אחר קבצים שנמחקו
--אין לזוז
אל תיצור MOVE (רק COPY + DELETE)
- עזרה מסך העזרה הזה
אורים
mddiff הוא כלי עזר ברמה נמוכה, בשימוש על ידי smd-server ו-smd-client. כדאי להשתמש גבוה יותר
כלים ברמה כמו smd-pull(1), smd-push(1) ו smd-loop(1)
השתמש ב-mdiff באינטרנט באמצעות שירותי onworks.net