„Gnu / Linux“ yra skirtingos programos, skirtos atlikti atsarginę kopiją, bet man asmeniškai patinka paprasti dalykai, toli gražu ne grafinės sąsajos (kurios, žinoma, neturi nieko blogo, bet jei galiu išvengti jos naudojimo, vengiu).
Komandoje „rsync“ yra didžiulis atsarginių kopijų sąjungininkas, kurį mes dažnai pamiršome padaryti. Jame yra pakankamai galimybių padaryti kopiją su visais būtinais reikalavimais.
Šis python scenarijus šiam tikslui daro atsargines kopijas. Pamatysite, kad tai yra labai paprasta ir net tiems, kurie visiškai neįsivaizduoja šios kalbos, nedelsiant reikia pridėti eilutę scenarijui sinchronizuoti naują katalogą.
Savo kompiuteryje naudoju išorinį standųjį diską, kurį pavadinau „IOmega_HDD“, jūsų atveju galite jį pervardyti scenarijuje pagal savo atvejį.
Kitas dalykas yra pridėti arba pašalinti katalogus iš kopijos. Tame pačiame scenarijuje kaip komentaro eilutė paaiškinta, kaip tai padaryti.
Norėdami automatizuoti užduotį, prie crontab galite pridėti eilutę, kurioje yra pitono vertėjas ir kelias, į kurį norite įdėti scenarijų. Tikiuosi, kad tai jums naudinga.
Įspėjimas: „WordPress“ redaktorius neleidžia tarpų eilutės pradžioje, todėl scenarijuje buvo prarasta reikalinga įtrauka, todėl tuščias vietas pakeičiau taškais (.), kuriuos turite pašalinti redaktoriumi ir pakeisti tarpais .
-------------------------------
# -*- 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"
---------------------------
18 komentarai, palikite savo
Labas, kaip tau sekasi?
Man patiko scenarijus, labai paprastas.
Jokio įžeidimo, padariau keletą pakeitimų, kad jis būtų paprastesnis ir suprantamesnis, be to, kad palaikyčiau „Python 2“ ir „3“ (šiuo metu jį galima paleisti tik „Python 2“)
Palieku jums nuorodą su 2 versijomis, jei jus domina.
http://linkode.org/1np9l2bi8IiD5oEkPIUQb5/Yfa4900cA76BpcTpcf4nG1
Puikūs modai ir aš džiaugiuosi, kad jums patinka scenarijus
Ketinimas yra vertinamas, bet rezultatas yra lipnus ir dešra.
Mano 4 metų dukterėčia sugeba sukurti protingesnį ir konfigūruojamą scenarijų nei ši čia įdėta bulvė.
Beje, kodo įtrauka yra neteisinga, patikrinkite savo kilpas ir aš neturiu omenyje plaukų
Scenarijus veikia puikiai, aš jį naudoju jau seniai ir, tiesą sakant, dėl daugybės juo besidalijančių žmonių, jis neturėtų būti toks kraupus, kaip jūs sakote. Gal turėtumėte paskambinti dukterėčiai, kad sužinotumėte, ar viską padėjote teisingai
Ei, mokykis vertinti ir užuot kritikavęs, pataisyk, jei tiek giriesi.
Tiksliai, Matiasas padarė keletą puikių modifikacijų. Be abejo, scenarijų galima patobulinti ir būtent apie jį kalbama bendradarbiavimo pasaulyje ir būtent taip Matiasas jį išreiškė. Gaila, kad čia yra asmenų, kurie sugadina gerą atmosferą, kuri turėtų vyrauti. Ten jie.
Ar manote, kad grubi kritika yra naudinga ir kad ji nieko neprideda prie scenarijaus? GERIAU NERAŠYKITE ŠIKŠTUKO IR PASIDALINKITE JIS !!!!!!!
Čia dar viena versija: https://gist.github.com/Itsuki4/5acc3d03f3650719b88d
Pakomentuokite klaidas, kurias aš ištaisysiu (dabar esu „Windows“ sistemoje ir negalėjau to išbandyti).
Na, aš naudoju „rsync“ tiesiogiai su „shell“ scenarijumi, nenaudodamas „python“.
Aš dedu eilutę kiekvienam šaltinio ir paskirties katalogui.
Turiu kelis scenarijus, priklausomai nuo įrenginio, kuriame darau kopiją, mano atveju - palaipsniui.
Pavyzdžiui, norėdamas nukopijuoti savo knygas į 128 MB USB, kuris pagal numatytuosius nustatymus įdiegtas „Windows“ sistemoje
/ media / zetaka01 / Sandisk128 į scenarijų „LibrosAusb128.sh“ įdėjau šią eilutę:
rsync -av –delete / home / zetaka01 / Knygos / medija / zetaka01 / Sandisk128 /
Jei paskirties katalogo nėra, jis jį sukuria jums ir iš paskirties vietos pašalina tai, kas nėra kilmės vietoje, žinoma, rekursyviai.
Pasisveikinimas.
Ak, kopijavimo / įklijavimo klaida su dviem brūkšneliais.
Sveikinimas
Ar norite sukurti grafinę sąsają? Aš mačiau „Tkinter“ ir „Tix“ galimybes, tačiau, norint kontroliuoti katalogų pasirinkimą, galbūt geriau yra „Wx“
Jau yra grafinė sąsaja, pagrįsta GTK, ji vadinama grsync.
Palieku nuorodą į Vikipediją, https://en.wikipedia.org/wiki/Grsync
Pasisveikinimas.
Sveiki visi. Scenarijus gali būti stebuklas ar paprastumas, kurio aš nepažįstu ir nesuprantu, bet viską galima pasakyti tūkstančiu būdų, o kai galima gerai pasakyti, kodėl reikia pasakyti neteisingai? Tai pasakius, turiu pasakyti, kad esu „Linux“ vartotojas nuo 2008 m. Ir, nepaisant viso to laiko, aš lėtai mokausi ir man sunku suprasti daug dalykų, įskaitant tai, kaip paleisti scenarijų (žinau, kad tai lengva, bet vienas to nepadaro) daugiau neduok). įdiegti programas kompiliuojant jas ir pan. Štai kodėl, kai perskaičiau, kad yra versija su grafine sąsaja, aš pažiūrėjau ir radau šį puslapį, kuriame jie suteikia jums viską, kas net sukramtyta. Dėl nerangaus kaip serverio palieku jį čia. Sveikinimai ir ačiū už jūsų pastangas.
http://www.opbyte.it/grsync/download.html
fernando, be jokių rūpesčių ir jei nesinori atsakyti, man įdomu, kodėl jūs naudojate Gnu / Linux. Ačiū ir linkėjimai
Na, grafinė sąsaja yra labai draugiška, tačiau ji nesuteikia jums galimybių, kurias suteikia visa komanda.
Taip pat ne mano atvejis, kai aš tai darau matuodamas, scenarijus, apvalkalas, pitonas ar bet koks kitas dalykas, leidžia jums užprogramuoti jį paleisti kada tik norite.
Ak, savo „Linux“ distributoriuje saugyklose turėtumėte turėti rsync ir grsync be problemų.
Pasisveikinimas.
Ak Fernando, jei „Linux“ naudojate nuo 2008 metų ir nežinote, kaip paleisti scenarijų, neturiu žodžių.
Sveikinimas
Pa čia visi sistemos inžinieriai, kurie kritikuoja scenarijų, kurį kažkas sukuria bendradarbiaudamas, o jei naudoti konsolę / scenarijų ar dar ką nors?
Kiek šūdo beproti dėl Dievo.
Aš jau 10 metų valdau „Linux“ serverius ir tiesa yra ta, kad elektroninis montavimas, kai viskas daroma su scenarijais, praėjo prieš kurį laiką, pavyzdžiui, norint administruoti „Bacula“, aš norėčiau apsimesti grafine sąsaja nei apvalkalu tai yra tikrai nusikalstama priemonė.
Turi būti produktyvus, jei kas nors jaučiasi patogiau tai darydamas sąsaja, gerai jam, svarbu rezultatas, o ne tai, kaip tu tai darai.
Ankstesniame darbe vadovavau įmonės IT sričiai, o atsakingi žmonės paprašė jo padaryti ką nors konkretaus, domėjausi rezultatu, jis nesakė «Sukonfigūruokite kitą„ vache “apache, naudodami„ vi “be spalvų terminale 30 × 20 “, kad jis tai daro taip, kaip jam patogiausia, jei vaikinas mieliau tai darė, montuodamas SFTP ir naudodamas langų bloknotą ar meldžiantis mūsų Tėvo, man nerūpėjo, kol jis padarė teisingai.
dandutrech, scenarijus įgyvendina savo tikslą, o tai yra svarbus dalykas. Dabar aš norėčiau pakeisti tai, kad užuot iškvietęs komandą iš apvalkalo, jis staiga naudos „Python-librsync“, kuri yra biblioteka, kad būtų galima naudoti „rsync“ funkcijas „Python“ .
Tai įgydami perkeliamumą, scenarijus veikia bet kurioje aplinkoje, nesvarbu, ar tai būtų „Linux“, „Windows“ ar OS X.
Ačiū, Gonzalo. Jūsų pasiūlymas, mano manymu, yra labai geras, ir aš jį įdėsiu į scenarijų. sveikinimas