Biztonsági másolat készítése egy könyvtárról Linux alatt Shell Script használatával

Az adatok biztonsági mentésére Linux alatt(Linux) több lehetőség is van . Használhat néhány szabadon elérhető szoftvert, mint például az fwbackups és a Sbackup . Létezik azonban egy egyszerű módszer a könyvtárak biztonsági mentésére további szoftverek telepítése nélkül.

Létrehozunk egy shell szkriptet a változók, a tar parancs és a date paranccsal, hogy létrehozzunk egy dátumozott biztonsági másolatot egy könyvtárról és annak alkönyvtárairól.

A shell script lényegében egy fájl, amely sorrendben futtatott parancsok listáját tartalmazza. Ha van egy sor parancs, amelyet rendszeresen sorban futtat, akkor hasznos lehet létrehozni egy shell szkriptet, amely ezeket a parancsokat tartalmazza. Ezután csak a parancsfájlt kell futtatnia a parancsok futtatásához.

A Shell Script fájl létrehozása

Ebben a példában egy shell szkriptet fogunk létrehozni a felhasználói kézikönyv fájljait tartalmazó könyvtár biztonsági mentéséhez. Az Ubuntu Gnome környezetét használjuk .

Először nyissa meg a kezdőkönyvtárát a Helyek menü (Places)Home Folder kiválasztásával . A Fájlböngésző(File Browser) megnyílik a kezdőkönyvtárban.

A home mappa megnyitása

Létre fogunk hozni egy új üres fájlt, amelybe beírjuk a biztonsági mentés végrehajtásához szükséges parancsokat. Kattintson a jobb gombbal(Right-click) a jobb oldali ablaktáblára, és válassza a Create Document | Empty File a felugró menüből.

Üres shell script fájl létrehozása

Egy fájl hozzáadódik a listához, és készen áll az átnevezésre. Írjon(Type) be egy nevet a fájlnak, és adja meg a fájl kiterjesztését .sh .

Új fájl készen áll az átnevezésre

Ebben a példában a fájlunkat user_guide_backups.sh -nak(user_guide_backups.sh) neveztük el .

A shell szkriptfájl átnevezve

Most hozzá kell adnunk a parancsokat a fájlhoz. Kattintson a jobb gombbal a fájl nevére, és válassza a Megnyitás gedit(Open with gedit) segítségével lehetőséget a felugró menüből.

Shell script fájl megnyitása a gedit segítségével

A fájl megnyílik a geditben(gedit) . Írja be a következő sorokat a fájlba, majd kattintson a Mentés(Save) gombra . Az alábbiakban felsoroljuk az egyes sorok célját.

MEGJEGYZÉS:(NOTE:) A következő szöveget is kimásolhatja és beillesztheti a geditbe(gedit) . Ne felejtse el módosítani a <username> -t a felhasználónevére.

#!/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 script fájl szerkesztése a geditben

Leírás soronként

A következő táblázat leírja, hogy a shell script fájl egyes sorai mit tartalmaznak.

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.

A Shell Script fájl (Shell Script File)engedélyeinek(Permissions) szerkesztése

A szkript futtatása előtt meg kell győződnie arról, hogy a fájl rendelkezik a megfelelő jogosultságokkal. Ehhez nyissa meg újra a Home mappát(Home Folder) a fent említett módon, és kattintson a jobb gombbal a shell script fájlra. Az előugró menüből válassza a Tulajdonságok lehetőséget.(Properties)

A shell script fájl tulajdonságainak lekérése

Megjelenik a Tulajdonságok(Properties) párbeszédpanel. Győződjön(Make) meg arról, hogy az Execute jelölőnégyzet be van jelölve.

Shell script fájl engedélyei

Kattintson a Bezárás(Close) gombra .

A Shell Script futtatása

A shell szkript futtatásához nyissa meg a terminál ablakot a Accessories | Terminal az Alkalmazások(Applications) menüből.

Terminálablak megnyitása

Amikor megnyílik a Terminál(Terminal) ablak, alapértelmezés szerint a Home mappában(Home Folder) kell lennie . A pwd(pwd) beírása a parancssorba és az enter megnyomása megerősíti ezt a tényt. A megjelenő parancssorba írja be a ./user_guide_backups.sh parancsot, és nyomja meg az Enter billentyűt .

A shell szkript futtatása

Egy .tgz fájlnak kell lennie a kezdőmappa (Home Folder)Biztonsági másolatok(Backups) mappájában . Ha a jobb gombbal rákattint a fájlnévre, több lehetőséget is láthat az archívum megnyitására az elérhető archiváló programok egyikében, vagy a fájlok közvetlenül a Biztonsági másolatok(Backups) mappába történő kibontására az Extract Here paranccsal.

A .tgz fájl előugró menü beállításai

Több információ

Az alábbi hivatkozások további információkat nyújtanak a shell-szkriptekről, a tar és date parancsokról, valamint más Linux - parancsokról.

Szkriptelés

Gyors útmutató a szkriptek írásához a bash shell használatával(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Bash Reference Manual

Linux parancsok

tar MAN Oldal(tar MAN Page)

dátum MAN Oldal(date MAN Page)

bash parancsok – Linux MAN Pages(bash commands – Linux MAN Pages)

Ezeknek az oldalaknak a felfedezése segít a saját hasznos bash shell szkriptek elkészítésében.



About the author

Szoftvermérnök vagyok, több mint 10 éves tapasztalattal Apple iOS és Edge eszközökön. Hardvertervezésben szerzett tapasztalatom szenvedélyesen érdekelt, hogy ügyfeleink eszközei a lehető legmegbízhatóbbak és gördülékenyebbek legyenek. Az elmúlt néhány évben írtam kódot, és megtanultam a Git, a Vim és a Node.js használatát.



Related posts