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

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

Vi vil oprette et shell-script ved hjælp af variabler, tar - kommandoen og date -kommandoen for at oprette en dateret backup-fil af en mappe med dens undermapper.

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

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

Få først adgang til din hjemmemappe ved at vælge Hjemmappe(Home Folder) i menuen Steder(Places) . Filbrowseren(File Browser) åbner til din hjemmemappe .

Åbning af hjemmemappen

Vi vil oprette en ny tom fil, hvor vi indtaster kommandoerne til at udføre sikkerhedskopieringen. Højreklik(Right-click) i højre rude, og vælg Create Document | Empty File fra pop op-menuen.

Oprettelse af en tom skal-scriptfil

En fil føjes til listen og er klar til at blive omdøbt. Indtast(Type) et navn til filen, og giv filen filtypenavnet .sh .

Ny fil klar til at blive omdøbt

Til dette eksempel navngav vi vores fil user_guide_backups.sh .

Shell script fil omdøbt

Nu skal vi tilføje kommandoerne til filen. Højreklik på filens navn, og vælg Åbn med gedit(Open with gedit) fra pop op-menuen.

Åbner shell script-fil med gedit

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

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

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

Redigering af shell script-fil i gedit

Linje-for-linje beskrivelse

Følgende tabel beskriver, hvad hver linje er i shell-scriptfilen.

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.

Redigering af tilladelserne(Permissions)Shell Script-filen(Shell Script File)

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 hjemmemappe(Home Folder) igen som nævnt ovenfor og højreklikke på shell-script-filen. Vælg Egenskaber(Properties) fra pop op-menuen.

Hent egenskaberne for shell-scriptfilen

Dialogboksen Egenskaber(Properties) vises. Sørg(Make) for, at afkrydsningsfeltet Udfør(Execute) er markeret.

Shell script fil tilladelser

Klik på Luk(Close) .

Kører Shell-scriptet

For at køre shell-scriptet skal du åbne et terminalvindue ved at vælge Accessories | Terminal fra menuen Programmer(Applications) .

Åbning af et terminalvindue

Når terminalvinduet(Terminal) åbnes, skal du som standard være i din hjemmemappe(Home Folder) . At skrive pwd på kommandolinjen og trykke på enter bekræfter dette faktum. Ved prompten skal du skrive ./user_guide_backups.sh og trykke på Enter .

Kører shell-scriptet

Du bør have en .tgz -fil i mappen Backups i din hjemmemappe(Home Folder) . Hvis du højreklikker på filnavnet, ser du flere muligheder for at åbne arkivet i et af de tilgængelige arkiveringsprogrammer eller udpakke filerne direkte til mappen Backups ved at bruge kommandoen Udpak her .(Extract Here )

Pop-up menu muligheder for .tgz fil

Mere information

Linkene nedenfor giver mere information om shell-scripts, tar- og date -kommandoer og andre Linux -kommandoer.

Scripting

En hurtig guide til at skrive scripts ved hjælp af bash-skallen(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Bash referencemanual

Linux kommandoer

tar MAN Side(tar MAN Page)

dato MAN Side(date MAN Page)

bash-kommandoer – Linux MAN-sider(bash commands – Linux MAN Pages)

At udforske disse sider vil hjælpe dig med at konstruere dine egne nyttige bash shell-scripts.



About the author

Jeg er professionel software reviewer med over 10 års erfaring. Jeg har skrevet og anmeldt mange forskellige typer software, inklusive men ikke begrænset til: Microsoft Office (Office 2007, 2010, 2013), Android-apps og trådløse netværk. Mine kompetencer ligger i at give objektive og detaljerede anmeldelser af programmer/applikationer, som andre kan bruge som referencemateriale eller til eget arbejde. Jeg er også ekspert i MS office-produkter og har tips til, hvordan du bruger dem effektivt og effektivt.



Related posts