Taula de continguts:

Sincronització de carpetes amb Python: 5 passos
Sincronització de carpetes amb Python: 5 passos

Vídeo: Sincronització de carpetes amb Python: 5 passos

Vídeo: Sincronització de carpetes amb Python: 5 passos
Vídeo: POP3 и IMAP – в чем разница? 2024, De novembre
Anonim
Sincronització de carpetes amb Python
Sincronització de carpetes amb Python
Sincronització de carpetes amb Python
Sincronització de carpetes amb Python

Aquesta instrucció us mostrarà com mantenir sincronitzades dues carpetes (i totes les carpetes que contenen), de manera que una sigui una còpia directa de l’altra. Ideal per fer còpies de seguretat de treballs tant a nivell local, com a servidor de núvol / xarxa o una unitat USB. No cal experiència amb la programació per completar aquest tutorial. Tingueu en compte que això només funciona amb Windows, tot i que el procés és similar a Mac i Linux.

Tinc un ordinador Windows antic que tinc configurat i que actua com a servidor per a diverses funcions, una de les quals és un emmagatzematge connectat a la xarxa que actua com a servidor multimèdia i com a còpia de seguretat de totes les dades de l’ordinador de la meva família.

Com que a la meva família els agrada treballar localment al seu PC, necessitàvem una manera senzilla de fer còpies de seguretat de les nostres dades regularment. També necessitava una manera de duplicar la còpia de seguretat implementant un enfocament tipus RAID en dos discs durs del PC del servidor. Tampoc no volia pagar per cap programari (sí, em conec avar). Com a conseqüència d'això, tot el programari lliure tendeix a presentar-se amb finestres emergents o fins i tot alentir el PC amb llargs temps de sincronització i un gran ús de la CPU, cosa que era molest.

Per tant, amb un petit esforç, vaig escriure un script Python que sincronitzaria les carpetes que tots necessitàvem. Llavors, podria personalitzar-lo i distribuir-lo a la família com un executable, que podia configurar Windows perquè s'executés regularment en segon pla. L'usuari de l'ordinador no havia de ser cap més savi.

Pas 1: Instal·lació de Python i dependències

Per crear el programa distribuïble, heu d’instal·lar Python al vostre ordinador. Per fer-ho, seguiu l'enllaç web aquí https://www.python.org/downloads/ i desplaceu-vos cap avall fins que trobeu la versió que desitgeu. Nota: Malauradament, a l’hora d’escriure el mòdul pyinstaller que utilitzarem, encara no funciona amb python 3.8, de manera que haureu d’utilitzar una versió compatible de python (3.5-3.7).

Seguiu la instal·lació i assegureu-vos de marcar la casella de selecció "Afegeix a CAMÍ".

Un cop instal·lat, obriu un indicador d’ordres i instal·leu els mòduls python que necessitem, per fer aquest tipus, seguiu els passos que calgui:

pip instal·lar pyinstaller

pip instal dirsync

Pas 2: l'escriptura Python

El guió és senzill i senzill, només dues línies, copieu i enganxeu el següent a IDLE (instal·lat amb Python) o al bloc de notes i deseu-lo com a "DirectorySync.py":

des de la sincronització d'importació dirsync

sync ('C: / FOLDER_A', 'E: / FOLDER_B', 'sync', purge = True)

Assegureu-vos de canviar les dues carpetes anteriors amb les dues carpetes que voleu sincronitzar. La barra invertida doble es requereix al nom del camí, ja que la barra invertida és un caràcter d'escapament a Python.

La primera línia importa el mòdul dirsync que hem instal·lat anteriorment.

El segon realitza la sincronització. La primera carpeta és la carpeta d'origen i la segona és l'objectiu, la "sincronització" indica a la funció de sincronització quin mode de sincronització s'ha d'implementar. Adding purge = True indica a la funció que elimini qualsevol cosa de la carpeta de destinació que ja no es troba a la carpeta d'origen. Hi ha altres opcions que es poden implementar en funció de les vostres necessitats.

La forma en què està configurat anteriorment també sincronitzarà totes les carpetes de la carpeta de nivell superior, això es pot aturar si cal. Si voleu sincronitzar més d'una carpeta de nivell superior, simplement afegiu més línies al vostre codi amb la funció sync (). Per obtenir més opcions i ajuda, consulteu el següent enllaç:

pypi.python.org/pypi/dirsync/2.2.2

Pas 3: creació de.exe

Per crear l'executable, ara hem de tornar a l'indicador d'ordres.

Escriviu el següent substituint el camí de la carpeta per la ruta a l'script DirectorySync.py que vam crear al darrer pas:

pyinstaller -F -w C: /Route_to_your_folder/DirectorySync.py

A la ubicació de la carpeta del vostre script Python, es creen una sèrie de carpetes: _pycache_, build, dist i dos fitxers més. Ara a la carpeta dist hi ha un fitxer anomenat DirectorySync.exe, en executar-lo es realitzarà la sincronització en segon pla. Aquest fitxer es pot distribuir tal com és a qualsevol persona i després pot executar una sincronització sense haver de tenir instal·lat python a l'ordinador.

Per explicar què passa al text en negreta que s'ha escrit al símbol del sistema:

'pyinstaller' indica a l'ordinador que utilitzi el mòdul pyinstaller que hem descarregat anteriorment

'-F' és una opció que indica a pyinstaller que només generi un executable i no una sèrie de carpetes que també s'haurien de distribuir.

'-w' és una opció que indica a l'ordinador que no mostri cap indicador d'ordres cada vegada que executa l'script.

El camí és el camí cap a l’escriptura python.

Per obtenir més opcions i ajuda, consulteu l'enllaç següent:

pyinstaller.readthedocs.io/en/stable/usage…

Pas 4: executar-se automàticament

Ara esteu a punt per sincronitzar qualsevol carpeta sense haver de copiar, enganxar i suprimir repetidament només fent doble clic a l'executable. Però volem fer un pas més enllà i que Windows executi el procés automàticament perquè no us preocupeu.

Per fer-ho utilitzarem el programa Task Scheduler que ve amb Windows, aquest procés es basa en Windows 10 però és gairebé idèntic en altres plataformes Windows.

  1. Obriu el programador de tasques al menú d'inici.
  2. A la part dreta, seleccioneu "Crea tasca" al menú.
  3. Poseu-li un nom i una descripció i, a la part inferior, assegureu-vos que estigui configurat per al sistema operatiu adequat.
  4. A la pestanya "Activadors", creeu un activador nou fent clic a "Nou" a la part inferior esquerra, a la nova finestra emergent seleccioneu la configuració que vulgueu, he escollit començar la tasca a Iniciar sessió i repetir-ho cada hora perquè sé que tenir una còpia de seguretat del meu treball cada hora. Feu clic a D'acord.
  5. A la pestanya "Accions", creeu una acció nova de la mateixa manera. L'acció que necessitem és iniciar un programa que sigui el predeterminat. Cerqueu l'executable que hem creat anteriorment i seleccioneu. NOTA: - si moveu l'executable després de crear la tasca, la tasca i, per tant, la sincronització no es completarà.
  6. A la pestanya "Condicions", desactiveu els paràmetres d'alimentació perquè funcionin amb bateria i endollats.
  7. Feu clic a D'acord i ja heu creat la tasca.

Reinicieu l'ordinador i, al cap d'un temps, comproveu la ubicació de la carpeta de destinació i comproveu que la sincronització ha funcionat. Tingueu en compte que si teniu una carpeta gran, la sincronització pot trigar una estona a copiar totes les carpetes de la primera vegada.

Aquest és el tutorial complet, espero que us sigui útil, qualsevol dubte, feu-m'ho saber.

Pas 5: ACTUALITZACIÓ 15 DE GENER 2020: programa de descàrrega

Encara faig servir aquest programa, que m’ha servit. Tot i això, sovint m’han demanat a la gent que faci tasques de sincronització única per a carpetes diferents, etc. Per tant, vaig pensar que actualitzaria aquest instructable amb un enllaç a un programa que vaig crear per fer la feina.. Proporciona una interfície d'usuari perquè la gent pugui fer fàcilment una tasca de sincronització. El programa es pot descarregar des de Github.

Recomanat: