A konfigurációs fájlok mentése

A konfigurációs fájlok mentése, és visszaállítása egyszerűen lesz a téma. Közel egy hónapja használom a kedvenc i3-asomat, és végre úgy érzem: nagyjából kész vagyok. Ahogy tudjátok a MagyArch I3-as verzióját használom, és azt szabtam át, ami nem kis munka és ezek egy része igen unalmas favágó munka. Szerintem nincs olyan ember, aki 20-30 programhoz gyorsbillentyűt rendelni élvezetesnek találna, majd alias-okat irkálni, uncsi beállításokkal bajmolódni. Én szívesen állítgatom a rendszert, finomítok rajta, de csak azért, hogy azután nagyon sokáig ne kelljen hozzányúlni.
Így keresnem kellett valami konfigurációs fájlok mentése témában megoldást. Aminél pár elvárásom van.

Elvárásaim

A konfigurációs fájlok mentése legyen automatikus, ne kelljen nekem semmit sem tenni, csak beállítani. Ami nem nagy dolog, mindenki már sejti: cron az én emberem.

Csak azt mentse, amit akarok. Az eddigi megoldásom, ami a másoljuk le a /home könyvtárt egy külső lemezre kicsit kényelmetlen volt, mert egy újratelepítés után keresgélni kellett, hogy mit is akarok felhasználni. A mérete sem volt kicsi, hiszen sok program a /home alá rakodik. Bár lehetett volna szelektíven is egyes könyvtárakat lementeni, de ez sem tetszett meg. Így is sok felesleges fájl került volna mentésre. Az általam használt konfigurációs fájl szerkesztési mód automatikusan készít egy mentés megnyitáskor, ami jó, mert van egy eredeti állapot, de igencsak termeli a mentési fájlokat, ha többször megnyítok egy fájlt naponta.

Ne GitHub, GitLab stb. legyen. Igen, én az ilyentől kissé idegenkedem. Nem azért mert titkosak lennének, csak nekem nem jött be ezek használata. Igen, tudom! Maradi vagyok. Sokan szeretik ezeket, és aki megosztja őket mással, annak ideális is lehet egy ilyen tárhely.

A visszaállítása egyszerű legyen, az elérési utat is tartalmazza a mentés. Így simán visszamásolhatom a megfelelő könyvtárba egy újratelepítés után.

A konfigurációs fájlok mentése scripttel

A lehető legegyszerűbb dolog, bár haladó guruk kinevethetik, így nem kell majd ezzel dicsekedni, hogy így oldottátok meg.

A megoldásom, miután jópár programot kipróbáltam, a lehető egyszerűbb: cp.

A cp egy sima másoló parancs, így nincs semmi extra benne, sem hibakezelés, sem pedig növekményes mentés, vagy egyéb extra, amire itt nincs szükség.

cp --parents a mentendő fájl a mentési könyvtárt

A --parents gondoskodik arról, hogy az elérési út is mentésre kerüljön, így visszaállításkor már tudjuk, mi és hova kerül. A második tag pedig a mentési könyvtár, amibe így létrejön a könyvtárszerkezet és a mentés.

cp --parents /home/laci/.config/sxhkd/sxhkdrc /home/laci/Mega_1/

Ez a mintasor jól mutatja már az egyszerűségét is az összeállításnak. Ha szerkesztesz egy konfigurációs fájlt, és az menteni szánod, akkor csak az elérési úttal bemásolod a nevét a scriptbe egy új sorba. A normálisabb fájlkezelőkben van lehetőség a fájl és az elérési útvonal kimásolására. A spacefm biztosan tudja 🙂

A mentési könyvtárba már így kerül bele: ‘/home/laci/Mega_1/home/laci/.config/sxhkd/sxhkdrc’ ami már teljesen megfelel az elvárásnak.

Ha tudod melyik konfigurációs fájlokat szeretnéd menteni, akkor egy mentési script összeállítása öt perc. Lemértem. 47 sor, amit ment.

Egy minta:

#!/bin/bash

cp --parents '/home/laci/.config/sxhkd/sxhkdrc' /home/laci/Mega_1/
cp --parents '/home/laci/.xprofile' /home/laci/Mega_1/
cp --parents '/home/laci/.zshrc' /home/laci/Mega_1/
cp --parents '/home/laci/.bashrc' /home/laci/Mega_1/
cp --parents '/home/laci/.config/alacritty/alacritty.yml' /home/laci/Mega_1/
cp --parents '/home/laci/.config/i3/config' /home/laci/Mega_1/
cp --parents '/home/laci/.config/aliasrc' /home/laci/Mega_1/
cp --parents '/home/laci/.config/picom.conf' /home/laci/Mega_1/
cp --parents '/home/laci/.config/libreoffice/4/user/autocorr/acor_hu-HU.dat' /home/laci/Mega_1/

Stb.

A ” közé azért teszem, mert van olyan elérési út, amiben space is van, így nem okoz gondot a rendszernek ezek kezelése sem. Az esetek nagy részében nincs erre szükség.

Teszt futtatás után le kell ellenőrizni, hogy minden jól lefutott. Majd időzíteni kell, ha szeretnéd, a cron-ban.

Ha root, azaz rendszergazdai jogokkal rendelkező fájlokat akarsz menteni, akkor a scriptet root joggal kell futtatni, azaz nem a saját, hanem a root cron-jába kerül bele. Logikus.

Egyszerű? Az. Kell extra program, vagy extra felhőbe rakni? Nem. Megéri ezzel vacakolni? Igen. Ha újra kell telepíteni a rendszert, akkor annak van egy technikai ideje, ha a programokat scriptesítve rakod fel, nem lesz kimaradt program. Ha a konfigurációs fájlok egy része, amit hosszadalmas beállítani, vagy a Libreoffice autókorrekciós fájl le lett mentve sok időt megtakaríthatsz.

Ha kíváncsi vagy arra miképp kezeli a MagyArch egyik fejlesztője a konfigurációs fájlokat ezt a videót nézd meg:  https://youtu.be/szpZdw6eENc

Érthető okok miatt sokkal komolyabb a rendszere, mint az enyém 🙂

Related Posts