Eseguire il backup di una directory in Linux utilizzando uno script della shell

Esistono diverse opzioni per eseguire il backup dei dati in Linux . È possibile utilizzare alcuni programmi software disponibili gratuitamente, come fwbackups e Sbackup . Tuttavia, esiste un metodo semplice per eseguire il backup di una directory senza installare alcun software aggiuntivo.

Creeremo uno script di shell usando variabili, il comando tar e il comando date per creare un file di backup datato di una directory, con le sue sottodirectory.

Uno script di shell è essenzialmente un file contenente un elenco di comandi eseguiti in sequenza. Se hai una serie di comandi che esegui regolarmente in ordine, è utile creare uno script di shell contenente questi comandi. Quindi, devi solo eseguire il file di script per eseguire i comandi.

Creazione del file di script della shell

Per questo esempio, creeremo uno script di shell per eseguire il backup di una directory contenente file per una guida per l'utente. Stiamo usando l' ambiente Gnome in Ubuntu .

Innanzitutto, accedi alla tua home directory, selezionando Home Folder dal menu Places . Il File Browser si apre nella tua home directory.

Apertura della cartella Inizio

Creeremo un nuovo file vuoto in cui inseriremo i comandi per eseguire il backup. Fare clic(Right-click) con il pulsante destro del mouse nel riquadro di destra e selezionare Create Document | Empty File dal menu a comparsa.

Creazione di un file di script di shell vuoto

Un file viene aggiunto all'elenco ed è pronto per essere rinominato. Digita(Type) un nome per il file, assegnandogli un'estensione .sh .

Nuovo file pronto per essere rinominato

Per questo esempio, abbiamo chiamato il nostro file user_guide_backups.sh .

File di script della shell rinominato

Ora dobbiamo aggiungere i comandi al file. Fai clic con il pulsante destro del mouse sul nome del file e seleziona Apri con gedit(Open with gedit) dal menu a comparsa.

Apertura del file di script della shell con gedit

Il file si apre in gedit . Immettere le seguenti righe nel file e fare clic su Salva(Save) . Lo scopo di ciascuna riga è elencato di seguito.

NOTA:(NOTE:) puoi anche copiare il seguente testo e incollarlo in gedit . Assicurati di cambiare <username> con il tuo nome utente.

#!/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

Modifica del file di script della shell in gedit

Descrizione riga per riga

La tabella seguente descrive cos'è ogni riga nel file di script della shell.

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.

Modifica delle autorizzazioni(Permissions) sul file di script della shell(Shell Script File)

Prima di eseguire lo script, è necessario assicurarsi che il file disponga delle autorizzazioni corrette. Per fare ciò, apri nuovamente la tua cartella Inizio(Home Folder) come menzionato sopra e fai clic con il pulsante destro del mouse sul file di script della shell. Seleziona Proprietà(Properties) dal menu a comparsa.

Ottenere le proprietà del file di script della shell

Viene visualizzata la finestra di dialogo Proprietà . (Properties)Assicurati(Make) che la casella di controllo Esegui(Execute) sia selezionata.

Autorizzazioni del file di script della shell

Fare clic su Chiudi(Close) .

Esecuzione dello script della shell

Per eseguire lo script della shell, apri una finestra di terminale selezionando Accessories | Terminal dal menu Applicazioni .(Applications)

Apertura di una finestra di Terminale

Quando si apre la finestra Terminale(Terminal) , dovresti essere nella tua cartella Inizio(Home Folder) per impostazione predefinita. Digitando pwd sulla riga di comando e premendo invio si conferma questo fatto. Al prompt, digita ./user_guide_backups.sh e premi Invio(Enter) .

Esecuzione dello script della shell

Dovresti avere un file .tgz nella cartella Backup(Backups) nella tua cartella Inizio(Home Folder) . Se fai clic con il pulsante destro del mouse sul nome del file, vengono visualizzate diverse opzioni per aprire l'archivio in uno dei programmi di archiviazione disponibili o per estrarre i file direttamente nella cartella Backup(Backups) utilizzando il comando Estrai qui .(Extract Here )

Opzioni del menu a comparsa per il file .tgz

Maggiori informazioni

I collegamenti seguenti forniscono ulteriori informazioni sugli script della shell, i comandi tar e date e altri comandi Linux .

Sceneggiatura

Una guida rapida alla scrittura di script utilizzando la shell bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Manuale di riferimento di Bash(Bash Reference Manual)

Comandi Linux

tar MAN Pagina(tar MAN Page)

data Pagina UOMO(date MAN Page)

comandi bash – Pagine MAN di Linux(bash commands – Linux MAN Pages)

L'esplorazione di queste pagine ti aiuterà a costruire i tuoi utili script di shell bash.



About the author

Sono un ingegnere del software con esperienza in Xbox Explorer, Microsoft Excel e Windows 8.1 Explorer. Nel tempo libero mi piace giocare ai videogiochi e guardare la TV. Ho una laurea presso l'Università dello Utah e attualmente lavoro come ingegnere del software per un'azienda internazionale.



Related posts