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

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

Vi kommer att skapa ett skalskript med hjälp av variabler, kommandot tar och kommandot date för att skapa en daterad säkerhetskopia av en katalog, med dess underkataloger.

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

Skapar skalskriptfilen

För det här exemplet kommer vi att skapa ett skalskript för att säkerhetskopiera en katalog som innehåller filer för en användarguide. Vi använder Gnome- miljön i Ubuntu .

Öppna först din hemkatalog genom att välja Hemmapp(Home Folder) från menyn Platser . (Places)Filläsaren öppnas(File Browser) till din hemkatalog.

Öppnar hemmappen

Vi kommer att skapa en ny tom fil där vi kommer att ange kommandon för att utföra säkerhetskopieringen. Högerklicka(Right-click) i den högra rutan och välj Create Document | Empty File från popup-menyn.

Skapar en tom skal-skriptfil

En fil läggs till i listan och är redo att bytas om. Skriv(Type) in ett namn på filen och ge filen filtillägget .sh(.sh) .

Ny fil redo att bytas om

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

Skalskriptfil bytt namn

Nu måste vi lägga till kommandona i filen. Högerklicka på filens namn och välj Öppna med gedit(Open with gedit) från popup-menyn.

Öppna skalskriptfil med gedit

Filen öppnas i gedit . Skriv in följande rader i filen och klicka på Spara(Save) . Syftet med varje rad listas nedan.

OBS:(NOTE:) Du kan också kopiera följande text och klistra in den i gedit . Se till att ändra <username> till ditt användarnamn.

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

Redigera skalskriptfil i gedit

Rad-för-rad-beskrivning

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

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.

Redigera behörigheterna(Permissions)Shell-skriptfilen(Shell Script File)

Innan du kör ditt skript måste du se till att filen har rätt behörigheter. För att göra detta, öppna din hemmapp(Home Folder) igen som nämnts ovan och högerklicka på skalskriptfilen. Välj Egenskaper(Properties) från popup-menyn.

Hämta egenskaperna för skalskriptfilen

Dialogrutan Egenskaper(Properties) visas. Se(Make) till att kryssrutan Execute är markerad .(Execute)

Shell script fil behörigheter

Klicka på Stäng(Close) .

Kör Shell-skriptet

För att köra skalskriptet, öppna ett terminalfönster genom att välja Accessories | Terminal från menyn Program .(Applications)

Öppna ett terminalfönster

När terminalfönstret(Terminal) öppnas bör du vara i din hemmapp(Home Folder) som standard. Att skriva pwd på kommandoraden och trycka på enter bekräftar detta faktum. Vid prompten skriver ./user_guide_backups.sh och trycker på Retur(Enter) .

Kör skalskriptet

Du bör ha en .tgz -fil i mappen Säkerhetskopiering(Backups) i din hemmapp(Home Folder) . Om du högerklickar på filnamnet ser du flera alternativ för att öppna arkivet i något av de tillgängliga arkiveringsprogrammen, eller extrahera filerna direkt till mappen Säkerhetskopiering med kommandot (Backups)Extrahera här(Extract Here ) .

Popupmenyalternativ för .tgz-fil

Mer information

Länkarna nedan ger mer information om skalskript, kommandona tar och datum(date) och andra Linux- kommandon.

Skript

En snabbguide för att skriva manus med bash-skalet(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Bash Referensmanual(Bash Reference Manual)

Linux-kommandon

tar MAN Sidan(tar MAN Page)

dejta MAN Sida(date MAN Page)

bash-kommandon – Linux MAN-sidor(bash commands – Linux MAN Pages)

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



About the author

Med en stor erfarenhet av Windows 10 och smartphones är jag en stark förespråkare av Microsoft Edge och de förmågor det ger. Förutom att vara expert på fel och wifi vet jag hur man använder verktyg som OneDrive och Cortana för att göra ditt arbete enklare.



Related posts