Säkerhetskopiera en katalog i Linux med hjälp av ett Shell-skript

Det finns flera alternativ för säkerhetskopiering av dina data i Linux. Du kan använda vissa fritt tillgängliga program, som fwbackups och Sbackup. Det finns dock en enkel metod att säkerhetskopiera en katalog utan att installera någon extra programvara.

Vi kommer att skapa ett skalskript med variabler, tjära kommando och datum Kommandot att skapa en daterad backupfil i en katalog med dess underkataloger.

Ett skalskript är i huvudsak en fil som innehåller en lista över kommandon som körs i följd. Om du har en serie kommandon som du regelbundet kör i ordning, är det till hjälp att skapa ett skalskript som innehåller dessa kommandon. Då behöver du bara köra skriptfilen för att köra kommandona.

Skapa skriptfilen

För det här exemplet ska vi skapa ett skalskript för att säkerhetskopiera en katalog med filer för en användarhandledning. Vi använder Gnome miljö i Ubuntu.

Öppna först din hemkatalog genom att välja Hemmapp från platser meny. De Filhanterare öppnas till din hemkatalog.

Vi ska skapa en ny tom fil där vi kommer att ange kommandona för att utföra säkerhetskopieringen. Högerklicka i den högra rutan och välj Skapa dokument | Tom fil från popup-menyn.

En fil läggs till i listan och är redo att byta namn. Skriv in ett namn på filen, vilket ger filen en förlängning av .sh.

I det här exemplet namngav vi vår fil user_guide_backups.sh.

Nu måste vi lägga till kommandon till filen. Högerklicka på namnet på filen och välj Öppna med gedit från popup-menyn.

Filen öppnas i gedit. Ange följande rader i filen och klicka på Spara. Syftet med varje rad anges nedan.

NOTERA: Du kan också kopiera följande text och klistra in den gedit. Var säker på att ändra till ditt användarnamn.

#! / bin / bash SRCDIR = "/ home // Dokument / my_work /" DESTDIR = "/ home // Backups /" FILENAME = ug - $ (datum +% - Y% -m% -d) - $ +% - T) .tgz tjära - skapa --gzip --file = $ DESTDIR $ FILENAME $ SRCDIR

Line-by-Line Beskrivning

Följande tabell beskriver vad varje rad är i skalskriptfilen.

Linje # Beskrivning
1 Den här raden måste vara den första raden i ett bash shell-skript, vilket är standardtypen för manus.
2 Den här raden skapar en variabel som heter SRCDIR och ställer in värdet av det i katalogen som ska säkerhetskopieras.
NOTERA: Var noga med att ersätta med din Användarnamn.
3 Den här raden skapar en variabel som heter målkat och sätter värdet av det till katalogen där säkerhetskopieringsfilen ska skrivas.
NOTERA: Var noga med att ersätta med din Användarnamn.
4 Den här raden skapar en variabel som heter FILNAMN och ställer in värdet med text och variabler som innehåller datum kommando för att lägga till aktuellt datum och tid till filnamnet. Till exempel kan filnamnet vara UG-20.100.212-13: 03: 45.tgz.
NOTERA: När du använder en variabel, starta du alltid med dollarn tecknet ($). Om du använder ett kommando som en del av en variabel, bifoga kommandot och alternativen för kommandot inom parentes.
5 Denna rad är tjära Kommandot med följande funktion och alternativ läggs till.

-skapa Den här funktionen skapar ett nytt arkiv (eller avkortar en gammal om det angivna filnamnet redan finns) och skriver de namngivna filerna eller katalogen till den.
-gzip Det här alternativet berättar tar att komprimera filerna i arkivet med hjälp av gzip verktyg.
-fil Det här alternativet tar tar filen som ska användas. I det här fallet monterade vi filnamnet med målkat, FILNAMN, och SRCDIR variabler.

Redigering av behörigheterna i Shell Script-filen

Innan du kör ditt skript måste du kontrollera att filen har rätt behörighet. För att göra detta, öppna din Hemmapp igen som nämnts ovan och högerklicka på skalskriptfilen. Välj Egenskaper från popup-menyn.

De Egenskaper dialogrutan visas. Se till att Kör kryssrutan är markerad.

Klick Stänga.

Köra Shell Script

För att köra skalskriptet öppnar du ett terminalfönster genom att välja Tillbehör | Terminal från tillämpningar meny.

När Terminal Fönstret öppnas, du borde vara i din Hemmapp som standard. Skriver pwd på kommandoraden och tryck på enter bekräftar detta faktum. Skriv så snabbt som möjligt ./user_guide_backups.sh och tryck på Stiga på.

Du borde ha en .tgz filen i mappen Backup i din Hemmapp. Om du högerklickar på filnamnet ser du flera alternativ för att öppna arkivet i ett av de tillgängliga arkiveringsprogrammen eller extrahera filerna direkt till Säkerhetskopior mapp med Extrahera här kommando.

Mer information

Länkarna nedan ger mer information om skalskript, tjära och datum kommandon och andra Linux-kommandon.

Scripting

En snabb guide till skrivskript med bash-skalet

Bash Shell Scripting - 10 sekunder guide | Allt om Linux

Bash Reference Manual

Linux-kommandon

tjära MAN Page

datum MAN-sida

bash kommandon - Linux MAN Pages

Att utforska dessa sidor hjälper dig att konstruera dina egna användbara bash skalskript.