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.
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.
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) .
För det här exemplet namngav vi vår fil user_guide_backups.sh .
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.
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
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.
|
Redigera behörigheterna(Permissions) på 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.
Dialogrutan Egenskaper(Properties) visas. Se(Make) till att kryssrutan Execute är markerad .(Execute)
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)
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) .
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 ) .
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.
Related posts
Hur man navigerar och använder Linux-katalogstrukturen
Linux FIND-kommando med exempel
5 bra skäl att avstå från Windows för Linux
HDG förklarar: Vad är UNIX?
9 bästa Linux-distros för hackning
Stäng ett program med våld i Ubuntu
De 5 bästa Linux-distroerna du bör använda
Hur man installerar en Linux Distro på din Chromebook
Hur man uppgraderar till den senaste Ubuntu
Använd kommandot Linux 'dd' med ett enkelt gränssnitt
Vad är inoder i Linux och hur används de?
Skapa och redigera zip-filer i Linux med hjälp av terminalen
Topp 10 Raspberry Pi Linux-kommandon du bör känna till
Hur man kompilerar programvarupaket på Linux
Det enklaste sättet att fjärransluta till Linux Mint från alla operativsystem
Hur man tar bort en fil eller katalog i Linux
Skapa din egen Live Video Streaming Server med Linux
Hur man installerar nästan vilken skrivare som helst på Ubuntu
Konvertera bilder mellan format via kommandoraden i Ubuntu
Hur man installerar och ställer in Kali Linux