סקריפט פייתון לגיבויים מקומיים עם rsync

בגנו / לינוקס ישנן תוכניות שונות לביצוע הגיבוי אך באופן אישי אני אוהב דברים פשוטים, רחוקים ממשקים גרפיים (שאין בהם שום דבר רע, כמובן, אך אם אוכל להימנע משימוש בו, אני נמנע).
בפקודה rsync יש בעל ברית גיבויים אדיר שלעתים קרובות אנו שוכחים לעשות. יש לו מספיק אפשרויות ליצור עותק עם כל הדרישות הדרושות. מחשב-767784_640

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

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

——————————————————————————————
# -*- coding: utf-8 -*-
import os
ruta_usuario=os.getcwd()
ruta_volumen="/media/Iomega_HDD" #Modificar según nombre de disco externo
directorio_destino=ruta_volumen + "/" + "RsyncBackup"
try:
....if os.path.exists(directorio_destino):
........pass
....else:
........os.mkdir(directorio_destino,0777)
....directorios_origen=[] ....rutas_directorios_origen=[] ....#Se añaden los directorios para sincronizar
....directorios_origen.append("Documentos")
....directorios_origen.append("Imágenes")
....directorios_origen.append("Descargas")
....#Añadir aquí otros directorios que se deseen sincronizar
....#o eliminar de las líneas anteriores los que no se deseen
....for rutas in directorios_origen:
....rutas_directorios_origen.append(ruta_usuario + "/" + rutas)
....for rutas in rutas_directorios_origen:
....print "Sincronizando " + rutas + " con " + directorio_destino
....os.system("rsync -ahv --progress" + " " + rutas + " " + directorio_destino)
....print "Proceso terminado"
except OSError:
print "Ha ocurrido un error ¿está el disco externo listo?"
except:
print "Ha ocurrido un error"

---------------------------


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   מטיאס דיג'ו

    שלום מה שלומך?
    אהבתי את התסריט, פשוט מאוד.
    אין עבירה, ביצעתי כמה שינויים כדי להפוך את זה לפשוט יותר וקריא יותר, כמו גם לתמוך בפייתון 2 ו -3 (נכון לעכשיו זה יכול להיות מופעל רק בפייתון 2)

    אני משאיר לך את הקישור עם שתי הגרסאות, למקרה שאתה מעוניין.
    http://linkode.org/1np9l2bi8IiD5oEkPIUQb5/Yfa4900cA76BpcTpcf4nG1

    1.    קשקשים דיג'ו

      אופנות נהדרות ואני שמח שאתה אוהב את התסריט

  2.   ניפוסיו דיג'ו

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

    אגב, הכנסת הקוד שגויה, בדוק את הלולאות שלך ואני לא מתכוון לשערות

    1.    קשקשים דיג'ו

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

    2.    tr דיג'ו

      היי, ללמוד להעריך ובמקום לבקר, לתקן, אם אתה מתרברב כל כך הרבה.

      1.    קשקשים דיג'ו

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

    3.    עבדון ס דיג'ו

      האם אתה חושב שביקורת גסה היא שימושית ושהיא לא מוסיפה שום דבר לתסריט? יותר טוב אל תכתוב סקריפט מזוין ותשתף אותו !!!!!!!

  3.   לא יודע דיג'ו

    הנה גרסה נוספת: https://gist.github.com/Itsuki4/5acc3d03f3650719b88d
    הגב על השגיאות שיש לי, אני אתקן את זה (עכשיו אני נמצא ב- Windows ולא יכולתי לבדוק את זה).

  4.   01 דיג'ו

    ובכן אני משתמש ב- rsync ישירות עם סקריפט פגז, מבלי להשתמש בפייתון.
    שמתי שורה לכל ספריית מקור ויעד.
    יש לי מספר סקריפטים בהתאם למכשיר שעליו אני יוצר את העותק, במקרה שלי מצטבר.
    לדוגמא, כדי להעתיק את הספרים שלי ל- USB 128MB המותקן כברירת מחדל ב-
    / media / zetaka01 / Sandisk128 שמתי בתסריט LibrosAusb128.sh את השורה הבאה:

    rsync -av – מחק / בית / zetaka01 / ספרים / מדיה / zetaka01 / Sandisk128 /

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

  5.   01 דיג'ו

    אה, העתק / הדבק - מחק שגיאה, עם שני מקפים.

    ברכות

  6.   קשקשים דיג'ו

    האם אתה רוצה ליצור ממשק גרפי? ראיתי את האפשרויות של Tkinter ו- Tix אבל לשליטה בבחירת הספריות אולי Wx עדיף

  7.   01 דיג'ו

    יש כבר ממשק גרפי המבוסס על GTK, זה נקרא grsync.
    אני משאיר את הקישור לויקיפדיה, https://en.wikipedia.org/wiki/Grsync
    ברכה.

  8.   פרננדו דיג'ו

    שלום לכולם. התסריט יכול להיות פלא או פשטות שאינני יודע או אכפת לי אך ניתן לומר דברים באלף דרכים וכאשר ניתן לומר אותם היטב, מדוע לומר אותם לא נכון? אחרי שאמרתי את זה, אני חייב לומר שהייתי משתמש בלינוקס מאז 2008 ולמרות כל הזמן הזה אני איטי ללמוד ואני מתקשה להבין הרבה דברים כולל איך להריץ סקריפט (אני יודע שזה קל אבל אחד לא לא נותן יותר). להתקין תוכניות על ידי קומפילציה וכו 'וכו'. לכן כשקראתי שיש גרסה עם ממשק גרפי, חיפשתי ומצאתי את הדף הזה שבו הם נותנים לך הכל אפילו לעס. למגושמים כשרת אני משאיר את זה כאן. ברכות ותודה על המאמץ.
    http://www.opbyte.it/grsync/download.html

    1.    קשקשים דיג'ו

      פרננדו, בלי שום צרות ואם לא אכפת לך לענות, אני סקרן מדוע אתה משתמש ב- GNU / Linux. תודה ודרישת שלום

  9.   01 דיג'ו

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

  10.   01 דיג'ו

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

  11.   גונסאלו מרטינז דיג'ו

    אבא הם כאן כל מהנדסי מערכות שמבקרים את התסריט שמישהו עושה כדי לשתף פעולה, ואם להשתמש בקונסולה / סקריפט או כל דבר אחר?

    כמה חרא להפליץ לאלוהים.

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

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

    בתפקידי הקודם כיוונתי את תחום ה- IT של החברה והאחראים ביקשו ממנו לעשות משהו ספציפי, הייתי מעוניין בתוצאה, לא אמרתי «הגדר ווסט אחר באפצ'י, באמצעות ה- vi ללא צבע במסוף 30 × 20 ”, שהוא עושה את זה כמו שהוא הכי נוח, אם הבחור מעדיף לעשות את זה ככה, להתקין באמצעות SFTP ולהשתמש בפנקס החלונות, או להתפלל לאבינו, לא היה אכפת לי כל עוד הוא עשה את זה נכון.

    dandutrech, התסריט ממלא את מטרתו, וזה הדבר החשוב, עכשיו מה שאשנה זה שבמקום להפעיל את הפקודה מהקליפה, הוא פתאום ישתמש ב- Python-librsync, שהיא ספרייה לשימוש בפונקציות rsync בתוך פִּיתוֹן.

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

  12.   dandutrecht דיג'ו

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