Varmuuskopioi hakemisto Linuxissa Shell Scriptin avulla

Tietojesi varmuuskopiointiin Linuxissa(Linux) on useita vaihtoehtoja . Voit käyttää joitain vapaasti saatavilla olevia ohjelmia, kuten fwbackups ja Sbackup . On kuitenkin olemassa yksinkertainen tapa varmuuskopioida hakemisto ilman ylimääräisten ohjelmistojen asentamista.

Luomme komentotulkkikomentosarjan käyttämällä muuttujia, tar - komentoa ja päivämääräkomentoa(date) luodaksemme päivätyn varmuuskopiotiedoston hakemistosta sen alihakemistoineen.

Shell-skripti on pohjimmiltaan tiedosto, joka sisältää luettelon komennoista, jotka suoritetaan peräkkäin. Jos sinulla on sarja komentoja, joita suoritat säännöllisesti järjestyksessä, on hyödyllistä luoda komentotulkkikomentosarja, joka sisältää nämä komennot. Sitten sinun tarvitsee vain suorittaa komentosarjatiedosto komentojen suorittamiseksi.

Shell-skriptitiedoston luominen

Tätä esimerkkiä varten aiomme luoda komentosarjan varmuuskopioidaksesi hakemiston, joka sisältää tiedostoja käyttöopasta varten. Käytämme Ubuntussa (Ubuntu)Gnome - ympäristöä .

Siirry ensin kotihakemistoosi valitsemalla Paikat- valikosta(Places) Kotikansio . (Home Folder)Tiedostoselain avautuu(File Browser) kotihakemistoosi.

Kotikansion avaaminen

Aiomme luoda uuden tyhjän tiedoston, johon kirjoitamme komennot varmuuskopion suorittamiseksi. Napsauta(Right-click) oikeanpuoleista ruutua hiiren kakkospainikkeella ja valitse Create Document | Empty File ponnahdusvalikosta.

Luodaan tyhjä komentosarjatiedosto

Tiedosto lisätään luetteloon ja on valmis nimettäväksi uudelleen. Kirjoita(Type) tiedostolle nimi ja anna tiedostolle tunniste .sh .

Uusi tiedosto on valmis nimettäväksi uudelleen

Tässä esimerkissä annoimme tiedostollemme nimen user_guide_backups.sh(user_guide_backups.sh) .

Shell-skriptitiedosto nimettiin uudelleen

Nyt meidän on lisättävä komennot tiedostoon. Napsauta hiiren kakkospainikkeella tiedoston nimeä ja valitse ponnahdusvalikosta Avaa geditillä .(Open with gedit)

Shell-skriptitiedoston avaaminen geditillä

Tiedosto avautuu geditissä(gedit) . Kirjoita seuraavat rivit tiedostoon ja napsauta Tallenna(Save) . Kunkin rivin tarkoitus on lueteltu alla.

HUOMAA:(NOTE:) Voit myös kopioida seuraavan tekstin ja liittää sen gedit -sovellukseen(gedit) . Muista vaihtaa <username> käyttäjänimeksi.

#!/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-skriptitiedoston muokkaaminen geditissä

Kuvaus riviltä

Seuraavassa taulukossa kuvataan, mitä kukin rivi on shell-skriptitiedostossa.

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.

Shell - skriptitiedoston (Shell Script File)käyttöoikeuksien(Permissions) muokkaaminen

Ennen kuin suoritat komentosarjan, sinun on varmistettava, että tiedostolla on oikeat käyttöoikeudet. Voit tehdä tämän avaamalla kotikansiosi(Home Folder) uudelleen yllä mainitulla tavalla ja napsauttamalla hiiren kakkospainikkeella komentosarjatiedostoa. Valitse ponnahdusvalikosta Ominaisuudet .(Properties)

Shell-skriptitiedoston ominaisuuksien hakeminen

Ominaisuudet- valintaikkuna(Properties) tulee näkyviin. Varmista(Make) , että Suorita(Execute) - valintaruutu on valittuna.

Shell-skriptitiedoston käyttöoikeudet

Napsauta Sulje(Close) .

Shell-skriptin suorittaminen

Suorita komentosarjan komentosarja avaamalla pääteikkuna valitsemalla Accessories | TerminalSovellukset(Applications) -valikosta .

Pääteikkunan avaaminen

Kun Pääte(Terminal) - ikkuna avautuu, sinun pitäisi olla oletusarvoisesti kotikansiossasi . (Home Folder)Pwd :n kirjoittaminen komentoriville ja enterin painaminen vahvistaa tämän tosiasian . (pwd)Kirjoita kehotteeseen ./user_guide_backups.sh ja paina Enter .

Shell-skriptin suorittaminen

Sinulla pitäisi olla .tgz -tiedosto kotikansiosi (Home Folder)Varmuuskopiot(Backups) - kansiossa . Jos napsautat tiedoston nimeä hiiren kakkospainikkeella, näet useita vaihtoehtoja, joilla voit avata arkiston jossakin käytettävissä olevista arkistointiohjelmista tai purkaa tiedostot suoraan Varmuuskopiot(Backups) - kansioon Pura tästä(Extract Here ) -komennolla.

.tgz-tiedoston ponnahdusvalikon vaihtoehdot

Lisää tietoa

Alla olevista linkeistä on lisätietoja komentotulkkikomennoista, tar- ja päivämääräkomennoista(date) ja muista Linux - komennoista.

Käsikirjoitus

Pikaopas skriptien kirjoittamiseen bash-kuoren avulla(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Bash Reference Manual

Linuxin komennot

terva MAN Sivu(tar MAN Page)

päivämäärä MAN Sivu(date MAN Page)

bash-komennot – Linux MAN Pages(bash commands – Linux MAN Pages)

Näiden sivujen tutkiminen auttaa sinua rakentamaan omia hyödyllisiä bash-shell-skriptejä.



About the author

Olen ohjelmistoinsinööri, jolla on yli 10 vuoden kokemus Windows-pohjaisten sovellusten suunnittelusta, rakentamisesta ja ylläpidosta. Olen myös perehtynyt tekstinkäsittelyyn, laskentataulukkolaskentaan ja esityksiin. Osaan kirjoittaa selkeitä ja ytimekkäitä kuvauksia koodista, selittää monimutkaisia ​​käsitteitä aloitteleville kehittäjille ja tehdä vianmäärityksiä asiakkaille lennossa.



Related posts