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.
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 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 .
Voor dit voorbeeld hebben we ons bestand user_guide_backups.sh genoemd .
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.
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
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.
|
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.
Het dialoogvenster Eigenschappen wordt weergegeven. (Properties)Zorg(Make) ervoor dat het selectievakje Uitvoeren(Execute) is ingeschakeld.
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)
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 .
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 .
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.
Related posts
Navigeren en de Linux-directorystructuur gebruiken?
Linux FIND-opdracht met voorbeelden
5 goede redenen om Windows voor Linux te dumpen
HDG legt uit: wat is UNIX?
9 beste Linux-distributies voor hacken
6 eenvoudige manieren om uw Ubuntu-installatie te versnellen
Linux-machtigingen en chmod-gebruik begrijpen
Veelvoorkomende redenen voor Ubuntu-crashes en hoe te herstellen
De top 7 gratis antivirusprogramma's voor Linux
TCP/IP-bestanden instellen en configureren op Linux (TCP/IP-instellingen voor Linux)
Top 10 Raspberry Pi Linux-opdrachten die u moet kennen
Terminaltrucs: gebruik de terminal als wekker
BSD versus Linux: de basisverschillen
10 Ubuntu-sneltoetsen om uw workflow te versnellen
Hoe softwarepakketten op Linux te compileren
Een Ubuntu Linux-gids voor beginners
Maak je eigen live videostreamingserver met Linux
Wat zijn inodes in Linux en hoe worden ze gebruikt?
De 5 beste Linux-distributies die u zou moeten gebruiken
5 manieren om een bestandsback-up in Linux te automatiseren