Aanbevolen, 2024

Editor'S Choice

Maak een back-up van een directory in Linux met behulp van een shellscript

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

We zullen een shell-script maken met behulp van variabelen, de tar- opdracht en de datumopdracht om een ​​verouderd back-upbestand van een map te maken met zijn submappen.

Een shellscript is in wezen een bestand met een lijst met opdrachten die achter elkaar worden uitgevoerd. Als u een reeks opdrachten hebt die u regelmatig op volgorde uitvoert, is het handig om een ​​shell-script te maken met deze opdrachten. 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 ​​map met bestanden te back-uppen voor een gebruikershandleiding. We gebruiken de Gnome- omgeving in Ubuntu .

Open eerst je thuismap door Thuismap te selecteren in het menu Plaatsen . De bestandsbrowser wordt geopend in uw thuismap.

We gaan een nieuw leeg bestand maken waarin we de opdrachten invoeren voor het uitvoeren van de back-up. Klik met de rechtermuisknop in het rechterdeelvenster en selecteer Document maken | Leeg het bestand uit het pop-upmenu.

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

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

Nu moeten we de commando's aan het bestand toevoegen. Klik met de rechtermuisknop op de naam van het bestand en selecteer Openen met gedit in het pop-upmenu.

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

OPMERKING: u kunt ook de volgende tekst kopiëren en in gedit plakken. Zorg dat je verandert naar je gebruikersnaam.

 #! / bin / bash SRCDIR = "/ home // Documents / my_work /" DESTDIR = "/ home // Back-ups /" FILENAME = ug - $ (datum +% - Y% -m% -d) - $ (datum +% - T) .tgz tar - maken --gzip --file = $ DESTDIR $ FILENAME $ SRCDIR 

Regel voor regel beschrijving

De volgende tabel beschrijft wat elke regel is in het shell-scriptbestand.

Regel # Omschrijving
1 Deze regel moet de eerste regel zijn in een bash-shellscript, het standaardscripttype.
2 Deze regel stelt een variabele in met de naam SRCDIR en stelt de waarde daarvan in voor de map waarvan een back-up moet worden gemaakt.
OPMERKING: Zorg ervoor dat u deze vervangt met je gebruikersnaam .
3 Deze regel stelt een variabele in met de naam DESTDIR en stelt de waarde ervan in op de map waarin het back-upbestand zal worden geschreven.
OPMERKING: Zorg ervoor dat u deze vervangt met je gebruikersnaam .
4 Deze regel stelt een variabele in met de naam FILENAME en stelt de waarde in met tekst en variabelen die de datumopdracht bevatten om de huidige datum en tijd aan de bestandsnaam toe te voegen. De bestandsnaam kan bijvoorbeeld ug-20100212-13: 03: 45.tgz zijn .
OPMERKING: begin altijd met het dollarteken ( $ ) wanneer u een variabele gebruikt. Als u een opdracht gebruikt als onderdeel van een variabele, voegt u de opdracht en de opties voor de opdracht tussen haakjes.
5 Deze regel is de tar- opdracht met de volgende functie en opties toegevoegd.

-Maak Deze functie maakt een nieuw archief aan (of kapt een oud archief af als de bestandsnaam al is opgegeven) en schrijft de benoemde bestanden of map ernaar toe.
-gzip Deze optie vertelt tar om de bestanden in het archief te comprimeren met behulp van het gzip- hulpprogramma.
-het dossier Deze optie geeft tar de bestandsnaam die moet worden gebruikt. In dit geval hebben we de bestandsnaam samengesteld met behulp van de variabelen DESTDIR, FILENAME en SRCDIR .

De machtigingen in het Shell-scriptbestand bewerken

Voordat u uw script uitvoert, moet u ervoor zorgen dat het bestand de juiste machtigingen heeft. Open hiervoor je Thuismap opnieuw zoals hierboven vermeld en klik met de rechtermuisknop op het shell-scriptbestand. Selecteer Eigenschappen in het pop-upmenu.

Het dialoogvenster Eigenschappen wordt weergegeven. Zorg ervoor dat het selectievakje Uitvoeren is geselecteerd.

Klik op Sluiten .

Het Shell-script uitvoeren

Als u het shellscript wilt uitvoeren, opent u een terminalvenster door Accessoires | te selecteren Terminal in het menu Toepassingen .

Wanneer het Terminal- venster wordt geopend, zou u standaard in uw Thuismap moeten staan . Typ pwd op de opdrachtregel en druk op Enter om dit te bevestigen. Typ ./user_guide_backups.sh bij de prompt en druk op Enter .

U zou een .tgz- bestand moeten hebben in de map Back-ups in uw Persoonlijke map . Als u met de rechtermuisknop op de bestandsnaam klikt, ziet u verschillende opties voor het openen van het archief in een van de beschikbare archiveringsprogramma's of het rechtstreeks uitpakken van de bestanden naar de map Backups met de opdracht Extract Here .

Meer informatie

De onderstaande links bieden meer informatie over shellscripts, de teer- en datumopdrachten en andere Linux-opdrachten.

Scripting

Een korte handleiding voor het schrijven van scripts met behulp van de bash-shell

Bash Shell Scripting - 10 seconden gids | Alles over Linux

Bash Reference Manual

Linux-commando's

teer MAN-pagina

datum MAN-pagina

bash-opdrachten - Linux MAN-pagina's

Als u deze pagina's doorzoekt, kunt u uw eigen nuttige bash-shellscripts maken.

Top