Δημιουργήστε αντίγραφα ασφαλείας ενός καταλόγου στο Linux χρησιμοποιώντας ένα σενάριο Shell

Υπάρχουν πολλές επιλογές για τη δημιουργία αντιγράφων ασφαλείας των δεδομένων σας στο Linux . Μπορείτε να χρησιμοποιήσετε ορισμένα ελεύθερα διαθέσιμα προγράμματα λογισμικού, όπως το fwbackups και το Sbackup(Sbackup) . Ωστόσο, υπάρχει μια απλή μέθοδος δημιουργίας αντιγράφων ασφαλείας ενός καταλόγου χωρίς εγκατάσταση επιπλέον λογισμικού.

Θα δημιουργήσουμε ένα σενάριο φλοιού χρησιμοποιώντας μεταβλητές, την εντολή tar και την εντολή date για να δημιουργήσουμε ένα χρονολογημένο αρχείο αντιγράφου ασφαλείας ενός καταλόγου, με τους υποκαταλόγους του.

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

Δημιουργία του αρχείου Shell Script

Για αυτό το παράδειγμα, πρόκειται να δημιουργήσουμε ένα σενάριο κελύφους για να δημιουργήσουμε αντίγραφα ασφαλείας ενός καταλόγου που περιέχει αρχεία για έναν οδηγό χρήστη. Χρησιμοποιούμε το περιβάλλον Gnome στο Ubuntu .

Πρώτα, αποκτήστε πρόσβαση στον αρχικό σας κατάλογο, επιλέγοντας Home Folder από το μενού Places . Το πρόγραμμα περιήγησης αρχείων(File Browser) ανοίγει στον αρχικό σας κατάλογο.

Άνοιγμα του αρχικού φακέλου

Θα δημιουργήσουμε ένα νέο κενό αρχείο στο οποίο θα εισάγουμε τις εντολές για την εκτέλεση του backup. Κάντε δεξί κλικ(Right-click) στο δεξιό τμήμα του παραθύρου και επιλέξτε Create Document | Empty File από το αναδυόμενο μενού.

Δημιουργία κενού αρχείου σεναρίου κελύφους

Ένα αρχείο προστίθεται στη λίστα και είναι έτοιμο για μετονομασία. Πληκτρολογήστε(Type) ένα όνομα για το αρχείο, δίνοντας στο αρχείο μια επέκταση .sh .

Νέο αρχείο έτοιμο για μετονομασία

Για αυτό το παράδειγμα, ονομάσαμε το αρχείο μας user_guide_backups.sh .

Το αρχείο σεναρίου Shell μετονομάστηκε

Τώρα πρέπει να προσθέσουμε τις εντολές στο αρχείο. Κάντε δεξί κλικ στο όνομα του αρχείου και επιλέξτε Άνοιγμα με gedit(Open with gedit) από το αναδυόμενο μενού.

Άνοιγμα αρχείου σεναρίου κελύφους με gedit

Το αρχείο ανοίγει στο gedit . Εισαγάγετε τις ακόλουθες γραμμές στο αρχείο και κάντε κλικ στην Αποθήκευση(Save) . Ο σκοπός κάθε γραμμής παρατίθεται παρακάτω.

ΣΗΜΕΙΩΣΗ:(NOTE:) Μπορείτε επίσης να αντιγράψετε το παρακάτω κείμενο και να το επικολλήσετε στο gedit . Φροντίστε να αλλάξετε το <username> στο όνομα χρήστη σας.

#!/bin/bash
 SRCDIR="/home/<username>/Documents/my_work/"
 DESTDIR="/home/<username>/Backups/"
 FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz
 tar – create – gzip – file=$DESTDIR$FILENAME $SRCDIR

Επεξεργασία αρχείου σεναρίου κελύφους στο gedit

Περιγραφή γραμμή προς γραμμή

Ο παρακάτω πίνακας περιγράφει τι είναι κάθε γραμμή στο αρχείο σεναρίου του φλοιού.

Line # Description
1 This line must be the first line in a bash shell script, which is the default type of script.
2 This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up.
NOTE: Be sure to replace <username> with your username.
3 This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written.
NOTE: Be sure to replace <username> with your username.
4 This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz.
NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses.
5 This line is the tar command with the following function and options added.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

Επεξεργασία των δικαιωμάτων(Permissions) στο αρχείο δέσμης ενεργειών Shell(Shell Script File)

Πριν εκτελέσετε το σενάριό σας, πρέπει να βεβαιωθείτε ότι το αρχείο έχει τα σωστά δικαιώματα. Για να το κάνετε αυτό, ανοίξτε ξανά τον Αρχικό φάκελο(Home Folder) όπως αναφέρθηκε παραπάνω και κάντε δεξί κλικ στο αρχείο σεναρίου του κελύφους. Επιλέξτε Ιδιότητες(Properties) από το αναδυόμενο μενού.

Λήψη των ιδιοτήτων του αρχείου σεναρίου του κελύφους

Εμφανίζεται το πλαίσιο διαλόγου Ιδιότητες . (Properties)Βεβαιωθείτε(Make) ότι είναι επιλεγμένο το πλαίσιο ελέγχου Εκτέλεση .(Execute)

Δικαιώματα αρχείου σεναρίου Shell

Κάντε κλικ στο Κλείσιμο(Close) .

Εκτέλεση του σεναρίου Shell

Για να εκτελέσετε το σενάριο φλοιού, ανοίξτε ένα παράθυρο τερματικού επιλέγοντας Accessories | Terminal από το μενού Εφαρμογές .(Applications)

Άνοιγμα παραθύρου τερματικού

Όταν ανοίξει το παράθυρο Terminal , θα πρέπει να βρίσκεστε στον (Terminal)Αρχικό φάκελο(Home Folder) από προεπιλογή. Πληκτρολογώντας pwd στη γραμμή εντολών και πατώντας enter επιβεβαιώνει αυτό το γεγονός. Στη γραμμή εντολών, πληκτρολογήστε ./user_guide_backups.sh και πατήστε Enter .

Εκτέλεση του σεναρίου του κελύφους

Θα πρέπει να έχετε ένα αρχείο .tgz στο φάκελο Αντίγραφα ασφαλείας στον (Backups)Αρχικό φάκελο(Home Folder) . Εάν κάνετε δεξί κλικ στο όνομα του αρχείου, θα δείτε πολλές επιλογές για το άνοιγμα του αρχείου σε ένα από τα διαθέσιμα προγράμματα αρχειοθέτησης ή την εξαγωγή των αρχείων απευθείας στο φάκελο Backups χρησιμοποιώντας την εντολή Extract Here .

Επιλογές αναδυόμενου μενού για αρχείο .tgz

Περισσότερες πληροφορίες

Οι παρακάτω σύνδεσμοι παρέχουν περισσότερες πληροφορίες σχετικά με τα σενάρια φλοιού, τις εντολές tar και ημερομηνία(date) και άλλες εντολές Linux .

Σενάριο

Ένας γρήγορος οδηγός για τη σύνταξη σεναρίων χρησιμοποιώντας το κέλυφος bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Εγχειρίδιο αναφοράς Bash(Bash Reference Manual)

Εντολές Linux

tar MAN Σελ(tar MAN Page)

ημερομηνία Σελίδα MAN(date MAN Page)

εντολές bash – Σελίδες Linux MAN(bash commands – Linux MAN Pages)

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



About the author

Είμαι έμπειρος ειδικός στα windows 10 και 11/10, με εμπειρία τόσο σε προγράμματα περιήγησης όσο και σε εφαρμογές smartphone. Είμαι μηχανικός λογισμικού για περισσότερα από 15 χρόνια και έχω συνεργαστεί με μια σειρά από μεγάλες εταιρείες, όπως η Microsoft, η Google, η Apple, η Ubisoft και άλλες. Έχω διδάξει επίσης ανάπτυξη windows 10/11 σε επίπεδο κολεγίου.



Related posts