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


Ci sono diverse opzioni per il backup dei tuoi dati in Linux. Puoi 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 utilizzando le variabili, il comando tare la data comando per creare un file di backup datato di una directory, con le sue sottodirectory.

Uno script di shell è essenzialmente un file che contiene un elenco di comandi che vengono eseguiti in sequenza. Se si dispone di una serie di comandi eseguiti 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 script di shell

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

Innanzitutto, accedi alla tua home directory, selezionando Cartella principaledal Luoghimenu. Browser filesi apre sulla tua directory home.

Opening the home folder

Creeremo un nuovo file vuoto in cui inserirà i comandi per eseguire il backup. Fai clic con il tasto destro nel riquadro di destra e seleziona Crea documento | File vuotodal menu a comparsa.

Creating an empty shell script file

Un file viene aggiunto all'elenco ed è pronto per essere rinominato. Digita un nome per il file, dando al file un'estensione di .sh.

New file ready to be renamed

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

Shell script file renamed

Ora dobbiamo aggiungere i comandi al file. Fai clic con il tasto destro del mouse sul nome del file e seleziona Apri con geditdal menu a comparsa.

Opening shell script file with gedit

Il file si apre in gedit. Inserisci le seguenti righe nel file e fai clic su Salva. Lo scopo di ogni riga è elencato di seguito.

NOTA:puoi anche copiare il seguente testo e incollarlo in gedit. Assicurati di cambiare & lt; nome utente & gt;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

Editing shell script file in gedit

Line -by-Line Descrizione

La seguente tabella descrive cosa ogni riga si trova nel file di script della shell.

Line #Descrizione
1Questa riga deve essere la prima riga in uno script di shell bash, che è il tipo predefinito di script.
2Questa riga imposta una variabile chiamata SRCDIRe ne imposta il valore nella directory di cui eseguire il backup.
NOTA:Assicurati di sostituire & lt; nome utente & gt;con il tuo nome utente.
3Questa riga imposta una variabile chiamata DESTDIRe ne imposta il valore nella directory in cui verrà scritto il file di backup.
NOTA:assicurati di sostituire & lt; nome utente & gt;con il tuo nome utente.
4Questa riga imposta una variabile chiamata FILENAMEe imposta il valore utilizzando testo e variabili che contengono il comando dataper aggiungere la data e l'ora correnti al nome file. Ad esempio, il nome file potrebbe essere ug-20100212-13: 03: 45.tgz.
NOTA:quando si utilizza una variabile, avviarla sempre con il simbolo del dollaro ($). Se utilizzi un comando come parte di una variabile, racchiudi il comando e le opzioni per il comando tra parentesi.
5Questa riga è il comando tarcon la seguente funzione e opzioni aggiunte.
- creaQuesta funzione crea un nuovo archivio (o tronca un vecchio se il nome file specificato esiste già) e scrive i file o la directory con nome.
-gzipQuesta opzione dice a tar di comprimere i file nell'archivio usando l'utility gzip.
- fileQuesta opzione fornisce tar al nome file da utilizzare. In questo caso, abbiamo assemblato il nome file utilizzando le DESTDIR, FILENAMEe SRCDIR.

Modifica delle autorizzazioni sul file script di shell

Prima di eseguire lo script, devi assicurarti che il file ha le autorizzazioni corrette. Per fare ciò, apri nuovamente Cartella principalecome sopra indicato e fai clic con il pulsante destro del mouse sul file di script della shell. Seleziona Proprietàdal menu a comparsa.

Getting the properties of the shell script file

Viene visualizzata la finestra di dialogo Proprietà. Assicurati che la casella di controllo Eseguisia selezionata.

Shell script file permissions

Fai clic su Chiudi.

Esecuzione di Shell Script

Per eseguire lo script della shell, aprire una finestra di terminale selezionando Accessori | Terminaledal menu Applicazioni.

Opening a Terminal window

Quando la finestra Terminalesi apre, dovresti essere nella tua cartella Homeper impostazione predefinita. Digitando pwdsulla riga di comando e premendo invio conferma questo fatto. Al prompt, digita ./ user_guide_backups.she premi Invio.

Running the shell script

Dovresti avere un file .tgznella cartella Backups nella tua cartella Home. Se fai clic con il pulsante destro del mouse sul nome file, vengono visualizzate diverse opzioni per aprire l'archivio in uno dei programmi di archiviazione disponibili o per estrarre i file direttamente nella cartella Backuputilizzando Estrai quicomando.

Pop-up menu options for .tgz file

Ulteriori informazioni

I link sottostanti forniscono ulteriori informazioni sugli script della shell, sul tare su datee altri comandi Linux.

Scripting

Una guida rapida per scrivere script usando la shell bash

Bash Shell Scripting - Guida di 10 secondi | Tutto su Linux

Bash Manuale di riferimento

Comandi Linux

pagina MAN

data Pagina MAN

comandi bash - Linux MAN Pages

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

Script per copiare file fra alberi di cartelle diversi

Post correlati:


16.02.2010