Python szkript helyi mentésekhez rsync segítségével

A Gnu / Linux-ban különféle programok vannak a biztonsági mentés végrehajtására, de én személy szerint szeretem az egyszerű dolgokat, távol a grafikus interfészektől (amelyeknek természetesen nincs semmi bajuk, de ha elkerülhetem a használatát, kerülöm).
Az rsync parancsban a biztonsági mentések félelmetes szövetségese található, amelyeket gyakran elfelejtünk megtenni. Elég lehetősége van arra, hogy másolatot készítsen az összes szükséges követelménytől. számítógép-767784_640

A következő python szkript készít biztonsági másolatokat erre a célra. Látni fogja, hogy rendkívül egyszerű, és még azok számára is, akiknek fogalmuk sincs erről a nyelvről, azonnal hozzá kell adni egy sort a szkripthez egy új könyvtár szinkronizálásához.
A gépemben egy külső merevlemezt használok, amelyet IOmega_HDD-nek hívtam, esetedben átnevezheted a szkriptben az esetednek megfelelően.
Másik dolog könyvtárakat hozzáadni vagy eltávolítani a másolatból. Ugyanabban a szkriptben, mint a megjegyzés sor, elmagyarázzák, hogyan kell csinálni.
A feladat automatizálásához hozzáadhat egy sort a crontab-hez, amely tartalmazza a python tolmácsot és az elérési utat, ahová a szkriptet be akarja helyezni. Remélem, hasznos lesz az Ön számára.

Figyelmeztetés: a wordpress szerkesztő nem engedélyez szóközt a sor elején, így a szükséges behúzás elveszett a szkriptben, ezért az üres helyeket pontokkal (.) helyettesítettem, amelyeket törölni kell egy szerkesztővel és helyettesíteni szóközökkel .

-------------------------------
# -*- 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"

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


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Matias dijo

    Helló, hogy vagy?
    Tetszett a forgatókönyv, nagyon egyszerű.
    Semmi sértés, néhány módosítást elvégeztem, hogy egyszerűbb és olvashatóbb legyen, valamint támogattam a Python 2 és 3 programokat (jelenleg csak Python 2-ben futtatható)

    Hagyom neked a linket a 2 verzióval, hátha érdekel.
    http://linkode.org/1np9l2bi8IiD5oEkPIUQb5/Yfa4900cA76BpcTpcf4nG1

    1.    korpás dijo

      Remek modok és örülök, hogy tetszik a szkript

  2.   niphosio dijo

    A szándékot értékelik, de az eredmény ragacsos és kolbászos.
    4 éves unokahúgom képes intelligensebb és konfigurálhatóbb forgatókönyvet készíteni, mint ez a burgonya, amelyet ide tett.

    Egyébként a kód behúzása hibás, ellenőrizze a hurkotokat, és nem a hajszálakat értem

    1.    korpás dijo

      A forgatókönyv tökéletesen működik, régóta használom, sőt, a megosztó emberek száma miatt nem szabad olyan gagyi, mint mondod. Talán felhívnia kellene az unokahúgát, hogy mindent helyesen tettél-e

    2.    tr dijo

      Hé, tanulj meg értékelni, és kritika helyett javíts, ha ennyire dicsekedsz.

      1.    korpás dijo

        Pontosan, Matias nagyszerű módosításokat hajtott végre. Természetesen a forgatókönyv javítható, és erről szól az együttműködés világában, és ezt Matias kifejezte. Kár, hogy az egyének itt vannak, hogy megsértsék a jó légkört, amelynek érvényesülnie kell. Ott vannak.

    3.    Abaddon s dijo

      Hasznosnak tartja a durva kritikát, és nem ad hozzá semmit a forgatókönyvhöz? JOBB NEM ÍRJ KI BARÁT SZKriptET ÉS MEGOSZTJA !!!!!!!

  3.   Nem tom dijo

    Itt egy másik verzió: https://gist.github.com/Itsuki4/5acc3d03f3650719b88d
    Hozzászólás a hibákat, hogy van, kijavítom (most én vagyok a Windows, és nem tudtam tesztelni).

  4.   zetaka01 dijo

    Nos, az rsync-et közvetlenül egy shell szkriptel használom, a python használata nélkül.
    Minden forrás- és célkönyvtárhoz teszek egy sort.
    Több szkriptem van attól függően, hogy milyen eszközön készítem a másolatot, esetemben növekményes.
    Például, hogy a könyveimet egy 128 MB-os USB-re másoljam, amely alapértelmezés szerint telepítve van a következőbe:
    / media / zetaka01 / Sandisk128 A LibrosAusb128.sh szkriptbe tettem a következő sort:

    rsync -av –delete / home / zetaka01 / Könyvek / média / zetaka01 / Sandisk128 /

    Ha a célkönyvtár nem létezik, akkor létrehozza az Ön számára, és törli a célból azt, ami nem az eredet, természetesen rekurzív módon.
    A köszöntés.

  5.   zetaka01 dijo

    Ah, copy / paste –delete hiba, két kötőjellel.

    Az üdvözlő

  6.   korpás dijo

    Grafikus felületet szeretne létrehozni? Láttam a Tkinter és a Tix lehetőségeit, de a könyvtárak választásának ellenőrzéséhez talán jobb a Wx

  7.   zetaka01 dijo

    Van már egy grafikus felület, amely a GTK-n alapul, grsync-nek hívják.
    Otthagyom a Wikipedia linkjét, https://en.wikipedia.org/wiki/Grsync
    A köszöntés.

  8.   Fernando dijo

    Üdv mindenkinek. A forgatókönyv lehet csoda vagy egyszerűség, amit nem ismerek és nem érdekel, de a dolgokat ezerféleképpen lehet elmondani, és amikor jól elmondhatók, miért mondják rosszul? Ennek ellenére azt kell mondanom, hogy 2008 óta vagyok Linux felhasználó, és ennyi idő ellenére lassan tanulok, és nehezen értek sok dolgot, beleértve a szkript futtatását is (tudom, hogy ez egyszerű, de az egyik nem ne adj többet). telepítsen programokat fordítással stb. stb. Éppen ezért, amikor olvastam, hogy létezik grafikus felülettel rendelkező verzió, kerestem és megtaláltam ezt az oldalt, ahol még mindent meg is rágnak. A ügyetlen, mint szerver számára itt hagyom. Üdvözlet és köszönet az erőfeszítésért.
    http://www.opbyte.it/grsync/download.html

    1.    korpás dijo

      fernando, minden bosszúság nélkül, és ha nem bánod a választ, kíváncsi vagyok, miért használod a Gnu / Linux rendszert. Köszönöm és üdvözlöm

  9.   zetaka01 dijo

    Nos, egy grafikus felület nagyon barátságos, de nem adja meg azokat a lehetőségeket, amelyeket a teljes parancs megad.
    Ráadásul nem az én esetem, hogy mérés céljából csinálom, egy parancsfájl, akár shell, akár python, vagy bármi, amit csak akar, lehetővé teszi, hogy programozzuk, amikor csak akar.
    Ah, a linux disztribúcióban az rsync és a grsync problémák nélkül kell lennie az adattárakban.
    A köszöntés.

  10.   zetaka01 dijo

    Ah Fernando, ha 2008 óta használod a linuxot, és nem tudod, hogyan kell futtatni egy szkriptet, akkor nincs szavam.
    Az üdvözlő

  11.   Gonzalo Martinez dijo

    Pa itt mind olyan rendszermérnökök, akik kritizálják azt a szkriptet, amelyet valaki az együttműködés érdekében tesz, és ha konzolt / szkriptet vagy bármit használ?

    Mennyi szart fingani az istenért.

    Tíz éve irányítom a Linux szervereket, és az az igazság, hogy a szkriptekkel végzett mindent elektronikus telepítés átment egy ideje, például a Bacula adminisztrációja érdekében inkább a grafikus felületet, mint a shellt használom, hogy úgy tegyek, mintha fontos, ami valóban bűncselekmény.

    Az embernek produktívnak kell lennie, ha valaki kényelmesebbnek érzi magát az interfészen keresztül, jól áll neki, az a lényeg, nem az, hogy hogyan csinálja.

    Az előző munkámban egy vállalat informatikai területét irányítottam, és az illetékesek kértek tőle valami konkrét dolgot, érdekelt az eredmény, nem azt mondta, hogy «Konfiguráljon egy másik vhostot apache-ban, a vi használatával szín nélkül egy 30 × 20 ”-es terminálon, hogy a legkényelmesebb módon teszi, ha a srác inkább így csinálta, SFTP-vel szerelve és az ablakok jegyzettömbjét használva, vagy Atyánkat imádkozva, nem érdekelt, amíg ő jól tette.

    dandutrech, a szkript teljesíti a célját, ami a fontos, most azt változtatnám meg, hogy ahelyett, hogy a parancsot a héjból hívnám meg, hirtelen a Python-librsync-et használja, amely egy könyvtár a rsync függvények használatához a Python-ban .

    Ezzel megszerezheti a hordozhatóságot, a szkript bármilyen környezetben fut, legyen az Linux, Windows vagy OS X.

  12.   dandutrecht dijo

    Köszönöm, Gonzalo. A javaslata szerintem nagyon jó, és be fogom tenni a forgatókönyvbe. üdvözlet