Maak een back-up van een directory in Linux met behulp van een Shell-script

Er zijn verschillende opties om een ​​back-up van uw gegevens te maken in Linux . U kunt enkele gratis beschikbare softwareprogramma's gebruiken, zoals fwbackups en Sbackup . Er is echter een eenvoudige methode om een ​​back-up van een map te maken zonder extra software te installeren.

We zullen een shellscript maken met behulp van variabelen, het tar- commando en het date - commando om een ​​gedateerd back-upbestand van een directory te maken, met zijn subdirectories.

Een shellscript is in wezen een bestand met een lijst met opdrachten die in volgorde worden uitgevoerd. Als je een reeks commando's hebt die je regelmatig achter elkaar uitvoert, is het handig om een ​​shellscript te maken dat deze commando's bevat. Vervolgens hoeft u alleen het scriptbestand uit te voeren om de opdrachten uit te voeren.

Het Shell-scriptbestand maken

Voor dit voorbeeld gaan we een shellscript maken om een ​​back-up te maken van een map met bestanden voor een gebruikershandleiding. We gebruiken de Gnome- omgeving in Ubuntu .

Ga eerst naar uw thuismap door Thuismap te selecteren in(Home Folder) het menu Plaatsen . (Places)De bestandsbrowser(File Browser) wordt geopend in uw thuismap.

De thuismap openen

We gaan een nieuw leeg bestand maken waarin we de opdrachten voor het uitvoeren van de back-up zullen invoeren. Klik met de rechtermuisknop(Right-click) in het rechterdeelvenster en selecteer Create Document | Empty File in het pop-upmenu.

Een leeg shellscriptbestand maken

Een bestand wordt aan de lijst toegevoegd en is klaar om hernoemd te worden. Typ(Type) een naam voor het bestand en geef het bestand de extensie .sh .

Nieuw bestand klaar om hernoemd te worden

Voor dit voorbeeld hebben we ons bestand user_guide_backups.sh genoemd .

Shell-scriptbestand hernoemd

Nu moeten we de opdrachten aan het bestand toevoegen. Klik met de rechtermuisknop op de naam van het bestand en selecteer Openen met gedit(Open with gedit) in het pop-upmenu.

Shellscriptbestand openen met gedit

Het bestand wordt geopend in gedit . Voer de volgende regels in het bestand in en klik op Opslaan(Save) . Het doel van elke regel wordt hieronder vermeld.

OPMERKING: je kunt ook de volgende tekst kopiëren en in (NOTE:)gedit plakken . Zorg ervoor dat u <username> wijzigt in uw gebruikersnaam.

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

Shell-scriptbestand bewerken in gedit

Beschrijving per regel

De volgende tabel beschrijft wat elke regel is in het shellscriptbestand.

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.

De machtigingen(Permissions) voor het Shell-scriptbestand(Shell Script File) bewerken

Voordat u uw script uitvoert, moet u ervoor zorgen dat het bestand de juiste machtigingen heeft. Om dit te doen, opent u uw thuismap(Home Folder) opnieuw zoals hierboven vermeld en klikt u met de rechtermuisknop op het shellscriptbestand. Selecteer Eigenschappen(Properties) in het pop-upmenu.

De eigenschappen van het shellscriptbestand ophalen

Het dialoogvenster Eigenschappen wordt weergegeven. (Properties)Zorg(Make) ervoor dat het selectievakje Uitvoeren(Execute) is ingeschakeld.

Rechten voor shellscriptbestanden

Klik op Sluiten(Close) .

Het Shell-script uitvoeren

Om het shellscript uit te voeren, opent u een terminalvenster door Accessories | Terminal in het menu Toepassingen .(Applications)

Een terminalvenster openen

Wanneer het Terminal- venster wordt geopend, zou u zich standaard in uw thuismap(Home Folder) moeten bevinden . Het typen van pwd op de opdrachtregel en het indrukken van enter bevestigt dit feit. Typ bij de prompt ./user_guide_backups.sh en druk op Enter .

Het shellscript uitvoeren

U zou een .tgz -bestand moeten hebben in de map Back- ups(Backups) in uw thuismap(Home Folder) . Als u met de rechtermuisknop op de bestandsnaam klikt, ziet u verschillende opties om het archief te openen in een van de beschikbare archiveringsprogramma's, of om de bestanden rechtstreeks uit te pakken naar de map Back- ups met de opdracht (Backups)Hier(Extract Here ) uitpakken .

Pop-upmenu-opties voor .tgz-bestand

Meer informatie

De onderstaande links geven meer informatie over shellscripts, de tar- en date - commando's en andere Linux - commando's.

Scripting

Een korte handleiding voor het schrijven van scripts met de bash-shell(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Bash Referentiehandleiding(Bash Reference Manual)

Linux-opdrachten

tar MAN Pagina(tar MAN Page)

datum MAN Pagina(date MAN Page)

bash-opdrachten - Linux MAN-pagina's(bash commands – Linux MAN Pages)

Door deze pagina's te verkennen, kunt u uw eigen handige bash-shellscripts maken.



About the author

Ik werk als consultant voor Microsoft. Ik ben gespecialiseerd in het ontwikkelen van mobiele apps voor Apple- en Android-apparaten en ben ook betrokken bij het ontwikkelen van Windows 7-apps. Mijn ervaring met smartphones en Windows 7 maakt mij de ideale kandidaat voor deze functie.



Related posts