Anbefalet, 2024

Redaktørens Valg

Sikkerhedskopier et katalog i Linux ved hjælp af et Shell-script

Der er flere muligheder for sikkerhedskopiering af dine data i Linux. Du kan bruge nogle frit tilgængelige software, som fwbackups og Sbackup. Der er dog en simpel metode til at sikkerhedskopiere en mappe uden at installere ekstra software.

Vi opretter et shell script ved hjælp af variabler, tar kommandoen og datakommandoen for at oprette en dateret backup fil i en mappe med sine underkataloger.

Et shell script er i det væsentlige en fil, der indeholder en liste over kommandoer, der køres i rækkefølge. Hvis du har en række kommandoer, du regelmæssigt kører i rækkefølge, er det nyttigt at oprette et shell script, der indeholder disse kommandoer. Derefter skal du kun køre scriptfilen for at køre kommandoerne.

Oprettelse af Shell Script-filen

I dette eksempel skal vi oprette et shell script til at sikkerhedskopiere en mappe med filer til en brugervejledning. Vi bruger Gnome- miljøet i Ubuntu .

Få adgang til dit hjemmemappe først ved at vælge Hjemmemappe fra menuen Steder . Filbrowseren åbnes til din hjemmekatalog.

Vi skal oprette en ny tom fil, hvor vi vil indtaste kommandoerne for at udføre backupen. Højreklik i den højre rude og vælg Opret dokument | Tom fil fra pop op-menuen.

En fil er tilføjet til listen og er klar til at blive omdøbt. Indtast et navn på filen, hvilket giver filen en udvidelse af .sh .

For dette eksempel navngav vi vores fil user_guide_backups.sh .

Nu skal vi tilføje kommandoer til filen. Højreklik på navnet på filen og vælg Åbn med gedit fra pop op-menuen.

Filen åbnes i gedit . Indtast følgende linjer i filen og klik på Gem . Formålet med hver linje er angivet nedenfor.

BEMÆRK: Du kan også kopiere den følgende tekst og indsætte den i gedit . Sørg for at ændre til dit brugernavn.

 #! / bin / bash SRCDIR = "/ home // Dokumenter / my_work /" DESTDIR = "/ home // Backups /" FILENAME = ug - $ (dato +% - Y% -m% -d) - $ +% - T) .tgz tar --create --gzip --file = $ DESTDIR $ FILENAME $ SRCDIR 

Line-by-Line Beskrivelse

Nedenstående tabel beskriver, hvad hver linje er i shell script filen.

Linje # Beskrivelse
1 Denne linje skal være den første linje i et bash shell script, som er standard typen af ​​script.
2 Denne linje opretter en variabel kaldet SRCDIR og indstiller værdien af ​​den til den mappe, der skal sikkerhedskopieres.
BEMÆRK: Sørg for at udskifte med dit brugernavn
3 Denne linje opretter en variabel kaldet DESTDIR og indstiller værdien af ​​den til den mappe, som backupfilen vil blive skrevet til.
BEMÆRK: Sørg for at udskifte med dit brugernavn
4 Denne linje opretter en variabel kaldet FILENAME og indstiller værdien ved hjælp af tekst og variabler, der indeholder datakommandoen for at tilføje den aktuelle dato og klokkeslæt til filnavnet. Filnavnet kan for eksempel være ug-20100212-13: 03: 45.tgz .
BEMÆRK: Når du bruger en variabel, skal du altid starte den med dollartegnet ( $ ). Hvis du bruger en kommando som del af en variabel, skal du vedlægge kommandoen og valgmulighederne for kommandoen inden for parentes.
5 Denne linje er tar kommandoen med følgende funktion og tilføjede valgmuligheder.

-skab Denne funktion opretter et nyt arkiv (eller afkortes en gammel, hvis det angivne filnavn allerede eksisterer) og skriver de navngivne filer eller mapper til det.
-gzip Denne mulighed fortæller tar at komprimere filerne i arkivet ved hjælp af gzip- hjælpeprogrammet.
-fil Denne mulighed giver tjære det filnavn, der skal bruges. I dette tilfælde samledes vi filnavnet med DESTDIR, FILENAME og SRCDIR variablerne.

Redigering af tilladelserne på Shell Script-filen

Før du kører dit script, skal du sikre dig, at filen har de korrekte tilladelser. For at gøre dette skal du åbne din startmappe igen som nævnt ovenfor og højreklikke på shell script filen. Vælg Egenskaber i pop op-menuen.

Dialogboksen Egenskaber vises. Sørg for, at afkrydsningsfeltet Udfør er valgt.

Klik på Luk .

Kører Shell Script

For at køre shell scriptet skal du åbne et terminalvindue ved at vælge Tilbehør | Terminal fra menuen Programmer .

Når vinduet Terminal åbnes, skal du som standard være i din startmappe . At skrive pwd på kommandolinjen og trykke på enter bekræfter denne kendsgerning. Skriv derefter ./user_guide_backups.sh, og tryk på Enter .

Du skal have en .tgz- fil i mappen Sikkerhedskopier i din hjemmemappe . Hvis du højreklikker på filnavnet, kan du se flere muligheder for at åbne arkivet i et af de tilgængelige arkiveringsprogrammer eller udpakke filerne direkte til mappen Sikkerhedskopiering ved hjælp af kommandoen Uddrag her .

Mere information

Nedenstående links giver mere information om shell scripts, tjære og dato kommandoer og andre Linux kommandoer.

Scripting

En hurtig guide til at skrive scripts ved hjælp af bash shell

Bash Shell Scripting - 10 sekunder guide | Alt om Linux

Bash Reference Manual

Linux kommandoer

tjære MAN Page

dato MAN Page

bash kommandoer - Linux MAN Sider

At udforske disse sider hjælper dig med at opbygge dine egne nyttige bash shell scripts.

Top