Anbefalt, 2024

Redaksjonens

Sikkerhetskopiere et katalog i Linux ved hjelp av et Shell-skript

Det finnes flere alternativer for sikkerhetskopiering av dataene dine i Linux. Du kan bruke noen fritt tilgjengelige programvare, som fwbackups og Sbackup. Det er imidlertid en enkel metode for sikkerhetskopiering av en katalog uten å installere ekstra programvare.

Vi vil opprette et skalskript ved hjelp av variabler, tar- kommandoen og datakommandoen for å lage en datert sikkerhetskopifil av en katalog, med underkataloger.

Et shell-skript er i hovedsak en fil som inneholder en liste over kommandoer som kjøres i rekkefølge. Hvis du har en rekke kommandoer du regelmessig kjører i rekkefølge, er det nyttig å lage et shell-skript som inneholder disse kommandoene. Da må du bare kjøre skriptfilen for å kjøre kommandoene.

Opprette Shell-skriptfilen

For dette eksempelet skal vi lage et shell-skript for å sikkerhetskopiere en katalog med filer for en brukerhåndbok. Vi bruker Gnome- miljøet i Ubuntu .

Gå først til hjemmekatalogen ved å velge Hjemmappe fra Steder- menyen. Filbrowseren åpnes for hjemmekatalogen din.

Vi skal lage en ny tom fil der vi skal legge inn kommandoene for å utføre sikkerhetskopien. Høyreklikk i høyre rute og velg Opprett dokument | Tom fil fra hurtigmenyen.

En fil er lagt til i listen og er klar til å bli omdøpt. Skriv inn et navn på filen, og gi filen en utvidelse av .sh .

For dette eksempelet heter vi vår fil user_guide_backups.sh .

Nå må vi legge til kommandoene i filen. Høyreklikk på navnet på filen og velg Åpne med gedit fra hurtigmenyen.

Filen åpnes i gedit . Skriv inn følgende linjer i filen og klikk på Lagre . Hensikten med hver linje er oppført nedenfor.

MERK: Du kan også kopiere den følgende teksten og lime den inn i gedit . Pass på å endre til brukernavnet ditt.

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

Linje for linje-beskrivelse

Tabellen nedenfor beskriver hva hver linje er i shell-skriptfilen.

Linjen # Beskrivelse
1 Denne linjen må være den første linjen i et bash shell script, som er standard typen skript.
2 Denne linjen setter opp en variabel som heter SRCDIR, og setter verdien av den til katalogen som skal sikkerhetskopieres.
MERK: Pass på at du bytter ut med brukernavnet ditt .
3 Denne linjen konfigurerer en variabel som heter DESTDIR og setter verdien av den til katalogen der sikkerhetskopieringsfilen skal skrives.
MERK: Pass på at du bytter ut med brukernavnet ditt .
4 Denne linjen konfigurerer en variabel som heter FILENAME og setter verdien ved hjelp av tekst og variabler som inneholder datakommandoen for å legge til gjeldende dato og klokkeslett for filnavnet. Filnavnet kan for eksempel være ug-20100212-13: 03: 45.tgz .
MERK: Når du bruker en variabel, start den alltid med dollartegnet ( $ ). Hvis du bruker en kommando som en del av en variabel, legger du inn kommandoen og alternativene for kommandoen i parentes.
5 Denne linjen er tar- kommandoen med følgende funksjon og tilleggsutstyr lagt til.

-skape Denne funksjonen oppretter et nytt arkiv (eller avkorter en gammel, hvis filnavnet som allerede er oppgitt) og skriver de navngitte filene eller katalogen til den.
-gzip Dette alternativet forteller tar å komprimere filene i arkivet ved hjelp av gzip- verktøyet.
-fil Dette alternativet gir tar filnavnet som skal brukes. I dette tilfellet monterte vi filnavnet ved hjelp av DESTDIR, FILENAME og SRCDIR- variablene.

Redigering av tillatelsene på Shell Script-filen

Før du kjører skriptet ditt, må du kontrollere at filen har de riktige tillatelsene. For å gjøre dette, åpner du Hjemmappen igjen som nevnt ovenfor og høyreklikk på shell-skriptfilen. Velg Egenskaper på hurtigmenyen.

Dialogboksen Egenskaper vises. Kontroller at avkrysningsboksen Utfør er valgt.

Klikk på Lukk .

Kjører Shell-skriptet

For å kjøre skalskriptet, åpne et terminalvindu ved å velge Tilbehør | Terminal fra Programmer- menyen.

Når Terminal- vinduet åpnes, bør du som standard være hjemmemappe. Hvis du skriver inn pwd på kommandolinjen og trykker på enter, bekrefter dette faktumet. Skriv spørsmålet ./user_guide_backups.sh og trykk Enter .

Du bør ha en .tgz- fil i mappen Sikkerhetskopier i din hjemmemappe . Hvis du høyreklikker på filnavnet, ser du flere alternativer for å åpne arkivet i et av de tilgjengelige arkiveringsprogrammene, eller utvinne filene direkte til mappen Sikkerhetskopiering ved hjelp av kommandoen Utdrag her .

Mer informasjon

Koblingene nedenfor gir mer informasjon om shell-skript, tar- og datokommandoer og andre Linux-kommandoer.

scripting

En rask guide til å skrive skript med bash-skallet

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

Å utforske disse sidene vil hjelpe deg å konstruere dine egne nyttige bash shell-skript.

Top