Rekommenderas, 2024

Redaktionen

Säkerhetskopiera en katalog i Linux med 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, tar- kommandot och datumkommandot för 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

I 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ön i Ubuntu .

Öppna först din hemkatalog genom att välja Hemmapp från menyn Platser . Filbläddraren öppnas i din hemkatalog.

Vi ska skapa en ny tom fil där vi kommer att ange kommandon för att utföra säkerhetskopian. 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.

OBS! Du kan också kopiera följande text och klistra in den i 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 sätter värdet av den till katalogen som ska säkerhetskopieras.
OBS! Var noga med att ersätta med ditt användarnamn
3 Den här raden skapar en variabel som heter DESTDIR och sätter värdet av den till katalogen i vilken backupfilen ska skrivas.
OBS! Var noga med att ersätta med ditt användarnamn
4 Den här raden skapar en variabel som heter FILENAME och anger värdet med text och variabler som innehåller datumkommandot för att lägga till det aktuella datumet och tiden för filnamnet. Filnamnet kan till exempel vara ug-20100212-13: 03: 45.tgz .
OBS! När du använder en variabel, starta du alltid med dollarteckenet ( $ ). 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 tar- kommandot med följande funktion och tilläggsalternativ.

-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- verktyget.
-fil Det här alternativet tar tar filen som ska användas. I det här fallet monterade vi filnamnet med DESTDIR, FILENAME och SRCDIR- variablerna.

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 på popup-menyn.

Dialogrutan Egenskaper visas. Kontrollera att kryssrutan Execute är markerad.

Klicka på Stäng .

Köra Shell Script

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

När Terminal- fönstret öppnas ska du som standard vara i din hemmapp . Att skriva pwd på kommandoraden och trycka på enter bekräftar detta faktum. Skriv snabbt./user_guide_backups.sh och tryck på Enter .

Du måste ha en .tgz- fil i mappen Backups 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 mappen Backup med kommandot Extract Here .

Mer information

Länkarna nedan ger mer information om skalskript, tjär- och datumkommandon 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-sidor

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

Top