Πίνακας περιεχομένων:

Συγχρονισμός φακέλων με Python: 5 βήματα
Συγχρονισμός φακέλων με Python: 5 βήματα

Βίντεο: Συγχρονισμός φακέλων με Python: 5 βήματα

Βίντεο: Συγχρονισμός φακέλων με Python: 5 βήματα
Βίντεο: Τρόπος εμφάνισης κρυφών αρχείων και φακέλων στα Windows 10 2024, Ιούλιος
Anonim
Συγχρονισμός φακέλων με Python
Συγχρονισμός φακέλων με Python
Συγχρονισμός φακέλων με Python
Συγχρονισμός φακέλων με Python

Αυτό το διδακτικό θα σας δείξει πώς να διατηρείτε συγχρονισμένους δύο φακέλους (και όλους τους φακέλους μέσα σε αυτούς), έτσι ώστε ο ένας να είναι ένα άμεσο αντίγραφο του άλλου. Ιδανικό για δημιουργία αντιγράφων ασφαλείας σε τοπικό επίπεδο, σε cloud/διακομιστή δικτύου ή μονάδα USB. Δεν απαιτείται εμπειρία προγραμματισμού για να ολοκληρώσετε αυτό το σεμινάριο. Λάβετε υπόψη ότι αυτό λειτουργεί μόνο με Windows, αν και η διαδικασία είναι παρόμοια σε Mac και Linux.

Έχω έναν παλιό υπολογιστή Windows που έχω ρυθμίσει και λειτουργεί ως διακομιστής για διάφορες λειτουργίες, μία από τις οποίες είναι ένας φτηνός αποθηκευμένος αποθηκευτικός χώρος που λειτουργεί τόσο ως διακομιστής πολυμέσων όσο και ως αντίγραφο ασφαλείας όλων των δεδομένων υπολογιστή της οικογένειάς μου.

Καθώς στην οικογένειά μου αρέσει σε όλους να εργάζονται τοπικά στους υπολογιστές τους, χρειαζόμασταν έναν εύκολο τρόπο για την τακτική δημιουργία αντιγράφων ασφαλείας των δεδομένων μας. Χρειαζόμουν επίσης έναν τρόπο να διπλασιάσω το αντίγραφο ασφαλείας εφαρμόζοντας μια προσέγγιση τύπου RAID σε δύο σκληρούς δίσκους στον υπολογιστή διακομιστή. Επίσης, δεν ήθελα να πληρώσω για οποιοδήποτε λογισμικό (ναι ξέρω τσιγκούνησα). Ως συνέπεια αυτού, όλο το δωρεάν λογισμικό τείνει να έρχεται με αναδυόμενα παράθυρα ή ακόμη και να επιβραδύνει τον υπολογιστή με μεγάλους χρόνους συγχρονισμού και μεγάλη χρήση CPU, κάτι που ήταν απλά ενοχλητικό.

Ως εκ τούτου, με λίγη προσπάθεια, έγραψα ένα σενάριο python που θα συγχρονίζει τους φακέλους που όλοι χρειαζόμασταν. Θα μπορούσα στη συνέχεια να το προσαρμόσω και να το διανείμω στην οικογένεια ως εκτελέσιμο, το οποίο θα μπορούσα να ορίσω τα παράθυρα να εκτελούνται σε τακτική βάση στο παρασκήνιο. Ο χρήστης του υπολογιστή δεν έπρεπε να είναι πιο σοφός.

Βήμα 1: Εγκατάσταση Python και εξαρτήσεων

Για να δημιουργήσετε το διανεμόμενο πρόγραμμα, πρέπει να εγκαταστήσετε python στον υπολογιστή σας. Για να το κάνετε αυτό, ακολουθήστε τον σύνδεσμο ιστού εδώ https://www.python.org/downloads/ και μετακινηθείτε προς τα κάτω μέχρι να βρείτε την έκδοση που θέλετε. Σημείωση: Δυστυχώς, κατά τη σύνταξη της μονάδας pyinstaller που θα χρησιμοποιήσουμε δεν λειτουργεί ακόμη με το python 3.8, οπότε θα χρειαστεί να χρησιμοποιήσετε μια συμβατή έκδοση του python (3.5-3.7).

Ακολουθήστε την εγκατάσταση, βεβαιωθείτε ότι έχετε επιλέξει το πλαίσιο ελέγχου "Προσθήκη στο μονοπάτι".

Μόλις εγκατασταθεί, ανοίξτε μια γραμμή εντολών και εγκαταστήστε τις ενότητες python που χρειαζόμαστε, για να κάνετε αυτόν τον τύπο, και ακολουθήστε τις τυχόν προτροπές όπως απαιτείται:

pip εγκατάσταση pyinstaller

pip εγκατάσταση dirsync

Βήμα 2: Το Python Script

Το σενάριο είναι ωραίο και απλό, μόνο δύο γραμμές, αντιγράψτε και επικολλήστε τα παρακάτω είτε στο IDLE (εγκατεστημένο με Python) είτε στο σημειωματάριο και αποθηκεύστε το ως "DirectorySync.py":

από συγχρονισμό εισαγωγής dirsync

συγχρονισμός ('C: / FOLDER_A', 'E: / FOLDER_B', 'sync', purge = True)

Βεβαιωθείτε ότι έχετε αλλάξει τους δύο φακέλους παραπάνω με τους δύο φακέλους που θέλετε να συγχρονίσετε. Η διπλή ανάστροφη αναδρομή απαιτείται στο όνομα διαδρομής, καθώς η ανάστροφη πλάκα είναι χαρακτήρας διαφυγής στην Python.

Η πρώτη γραμμή εισάγει τη μονάδα dirsync που εγκαταστήσαμε προηγουμένως.

Το δεύτερο εκτελεί το συγχρονισμό. Ο πρώτος φάκελος είναι ο φάκελος προέλευσης και ο δεύτερος είναι ο στόχος, ο «συγχρονισμός» είναι η λειτουργία συγχρονισμού που λέει ποιος τρόπος συγχρονισμού πρέπει να εφαρμοστεί. Προσθήκη εκκαθάρισης = True λέει στη λειτουργία να διαγράψει οτιδήποτε στο φάκελο προορισμού που δεν υπάρχει πλέον στον φάκελο προέλευσης. Υπάρχουν άλλες επιλογές που μπορούν να εφαρμοστούν ανάλογα με τις ανάγκες σας.

Ο τρόπος με τον οποίο έχει διαμορφωθεί παραπάνω θα συγχρονίσει επίσης όλους τους φακέλους εντός του φακέλου ανώτατου επιπέδου. Αυτό μπορεί να διακοπεί εάν απαιτείται. Εάν θέλετε να συγχρονίσετε περισσότερους από έναν φακέλους ανώτατου επιπέδου, απλώς προσθέστε περισσότερες γραμμές στον κώδικά σας με τη λειτουργία συγχρονισμού (). Για περισσότερες επιλογές και βοήθεια δείτε τον παρακάτω σύνδεσμο:

pypi.python.org/pypi/dirsync/2.2.2

Βήμα 3: Δημιουργία.exe

Για να δημιουργήσουμε το εκτελέσιμο πρέπει τώρα να επιστρέψουμε στη γραμμή εντολών.

Πληκτρολογήστε το ακόλουθο αντικαθιστώντας τη διαδρομή φακέλου με τη διαδρομή προς το σενάριο DirectorySync.py που δημιουργούμε στο τελευταίο βήμα:

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

Στη θέση φακέλου του σεναρίου python δημιουργείται μια σειρά φακέλων: _pycache_, build, dist και δύο άλλα αρχεία. Στο φάκελο dist βρίσκεται τώρα ένα αρχείο που ονομάζεται DirectorySync.exe, με την εκτέλεση αυτού θα εκτελεστεί ο συγχρονισμός στο παρασκήνιο. Αυτό το αρχείο μπορεί να διανεμηθεί όπως είναι σε οποιονδήποτε και στη συνέχεια μπορεί να εκτελέσει έναν συγχρονισμό χωρίς να χρειάζεται να έχει εγκαταστήσει τον python στον υπολογιστή.

Για να εξηγήσετε τι συμβαίνει στο BOLD κείμενο που πληκτρολογήθηκε στη γραμμή εντολών:

"pyinstaller" πείτε στον υπολογιστή να χρησιμοποιήσει το module pyinstaller που κατεβάσαμε νωρίτερα

Το '-F' είναι μια επιλογή που λέει στον pyinstaller να δημιουργήσει μόνο ένα εκτελέσιμο και όχι μια σειρά φακέλων που θα πρέπει επίσης να διανεμηθούν.

Το '-w' είναι μια επιλογή που λέει στον υπολογιστή να μην εμφανίζει μια γραμμή εντολών κάθε φορά που εκτελεί το σενάριο.

Η διαδρομή είναι η διαδρομή προς το σενάριο python.

Για περισσότερες επιλογές και βοήθεια δείτε τον παρακάτω σύνδεσμο:

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

Βήμα 4: Αυτόματη εκτέλεση

Είστε τώρα έτοιμοι να συγχρονίσετε τυχόν φακέλους χωρίς να χρειάζεται να αντιγράψετε, επικολλήσετε και διαγράψετε επανειλημμένα κάνοντας διπλό κλικ στο εκτελέσιμο. Αλλά θέλουμε να κάνουμε ένα βήμα παραπέρα από αυτό και τα Windows να εκτελέσουν τη διαδικασία αυτόματα, ώστε να μην χρειάζεται να ανησυχείτε.

Για να γίνει αυτό θα χρησιμοποιήσουμε το πρόγραμμα Task Scheduler που συνοδεύει τα Windows, αυτή η διαδικασία βασίζεται στα Windows 10 αλλά είναι σχεδόν πανομοιότυπη σε άλλες πλατφόρμες Windows.

  1. Ανοίξτε το Task Scheduler από το μενού έναρξης.
  2. Στη δεξιά πλευρά, επιλέξτε "Δημιουργία εργασίας" από το μενού.
  3. Δώστε του όνομα και περιγραφή και στο κάτω μέρος βεβαιωθείτε ότι έχει διαμορφωθεί για το σωστό λειτουργικό σύστημα.
  4. Στην καρτέλα "Ενεργοποιητές", δημιουργήστε μια νέα σκανδάλη κάνοντας κλικ στο "Νέο" κάτω αριστερά, στο νέο αναδυόμενο παράθυρο επιλέξτε τη διαμόρφωση που θέλετε, επέλεξα να ξεκινήσω την εργασία στο Σύνδεση και να επαναλαμβάνω κάθε ώρα για να ξέρω ότι έχω ένα αντίγραφο ασφαλείας της εργασίας μου κάθε ώρα. Κάντε κλικ στο OK.
  5. Στην καρτέλα "Ενέργειες", δημιουργήστε μια νέα ενέργεια με τον ίδιο τρόπο. Η ενέργεια που χρειαζόμαστε είναι να ξεκινήσουμε ένα πρόγραμμα που είναι το προεπιλεγμένο. Μεταβείτε στο εκτελέσιμο που δημιουργήσαμε νωρίτερα και επιλέξτε. ΣΗΜΕΙΩΣΗ:- εάν μετακινήσετε το εκτελέσιμο μετά τη δημιουργία της εργασίας, η εργασία και συνεπώς ο συγχρονισμός δεν θα ολοκληρωθεί.
  6. Στην καρτέλα "Συνθήκες", απενεργοποιήστε τις ρυθμίσεις τροφοδοσίας, ώστε να λειτουργεί με μπαταρία καθώς και να είναι συνδεδεμένο.
  7. Κάντε κλικ στο OK και τώρα έχετε δημιουργήσει την εργασία σας.

Επανεκκινήστε τον υπολογιστή και μετά από λίγο ελέγξτε τη θέση φακέλου προορισμού και δείτε ότι ο συγχρονισμός λειτούργησε, σημειώστε εάν έχετε μεγάλο φάκελο, ο συγχρονισμός ενδέχεται να πάρει λίγο χρόνο για να αντιγράψει όλους τους φακέλους για πρώτη φορά.

Αυτό είναι το σεμινάριο πλήρες, ελπίζω να το βρείτε χρήσιμο, τυχόν ερωτήσεις, ενημερώστε με.

Βήμα 5: ΕΝΗΜΕΡΩΣΗ 15 ΙΑΝΟΥΑΡΙΟΥ 2020 - Λήψη προγράμματος

Εξακολουθώ να χρησιμοποιώ αυτό το πρόγραμμα που με έχει εξυπηρετήσει. Ωστόσο, μου ζητείται συχνά από άτομα να κάνουν χειροκίνητες εργασίες συγχρονισμού για διαφορετικούς φακέλους κ.λπ. Συνεπώς, σκέφτηκα ότι θα ενημερώσω αυτό το Instructable με έναν σύνδεσμο σε ένα πρόγραμμα που δημιούργησα για να κάνω τη δουλειά Το Παρέχει μια διεπαφή χρήστη έτσι ώστε οι άνθρωποι να μπορούν εύκολα να κάνουν μία από τις εργασίες συγχρονισμού. Μπορείτε να κατεβάσετε το πρόγραμμα από το Github.

Συνιστάται: