Fórum Root.cz
Hlavní témata => Software => Téma založeno: anonym 01. 09. 2018, 15:13:59
-
Jak napsat skript, ktery pobezi na pozadi a po pripojeni disku s nazvem "Hello Kitty" spusti automaticky kompletni inkrementalni zalohu disku? A myslim tim zalohu, ze ktere je mozne disk napr. z life linuxove distribuce i kompletne obnovit, vc. boot loaderu.
Dekuji
-
Nic na pozadi nepotrebujes, staci udev pravidlo neco na styl nize (uz to davno nepouzivam, pac mam NASy ...), ale tak zbytek si snad zvladnes dohledat
cat /etc/udev/rules.d/10-local.rules
# USB SAMSUNG 1.5TB GB
SUBSYSTEM=="block", KERNEL=="sd?", ATTRS{serial}=="533159364A39305343303334", NAME="usb/usb"
SUBSYSTEM=="block", KERNEL=="sd?[0-9]", ATTRS{serial}=="533159364A39305343303334", NAME="usb/usb%n", ACTION=="add", RUN+="/bin/pripoj.usb.sh".
SUBSYSTEM=="block", KERNEL=="sd?[0-9]", ATTRS{serial}=="533159364A39305343303334", NAME="usb/usb%n", ACTION=="remove", RUN+="/bin/odpoj.usb.sh".
-
zajisteni ihned zajistis pres to udev pravidlo...
zajisteni rozdilovosti souboru pres rdiff-backup (https://www.root.cz/clanky/zaloha-dat-pomoci-rdiff-backup) (otazka jak to zacne byt casem narocne, podle toho jestli zalujes jen system, nebo i velke data, protoze to vzdy pocita diff), muzes se podivat i na rsnapshot (https://www.root.cz/clanky/zalohujeme-s-rsnapshot/), ten nedela diff takze se nemuze spomalovat, ale zas dela zalohy celejch souboru takze to casem muze nasobne narust na velikosti (oproti rdiff-backup)...
zajisteni obnoveni bootloderu, zalezi jak to chces resit, jestli i vcetne rozdeleni disku, tak zalohovat partition table pres sfdisk/sgdisk, u bootloader u MBR/MSDOS rozdeleni zalohovat MBR, u EFI zalohovat EFI oddil u LegacyGPT navic i BIOS_GRUB oddil...
pri obnoveni pak ve skriptu musis rozdelit disk (pres parted) nebo obnovit zaloho rozdeleni pres sfdisk/sgdisk, pomoci dd obnovit mbr u mbr, nebo EFI oddil(y), nasledne nakopirujes pres rsync data z posledni zalohy... a bud nastavis UUID pro oddily jako byli, nebo je v cilovem systemu v /etc/fstab zmenis a pregenerujes initramdisk a grub
bootlodaer pripadne muzes obnovovat tak ze ho proste s toho Live (pozor neni to LifeCD ;-) normalne znovu nainstalovat...
-
Ahoj
Zrovna nedavno jsem resil to stejne. Prijdu ke komplu, pichnu do nej USB HDD a automaticky se provede zalohovani. Udelal jsem to obdobne jak ti radi "Trenky Dolu", ale misto patlani se s kompletne vlastnim skriptem pouzivam zalohovaci system Borg https://borgbackup.readthedocs.io/en/stable/ (https://borgbackup.readthedocs.io/en/stable/).
Takova mala rada: nezapomen, ze pokud neco spousti udev, defaultne to jede s pravy roota. Muze to byt neprijemne prekvapeni, jsi-li zvykli zalohovat jako user. Zrovna resim jak to zaridit, aby se zalohovani spustilo uzivateli, ktery je momentalne prihlasen na aktivni konzoli...
-
Nic na pozadi nepotrebujes, staci udev pravidlo neco na styl nize (uz to davno nepouzivam, pac mam NASy ...), ale tak zbytek si snad zvladnes dohledat
cat /etc/udev/rules.d/10-local.rules
# USB SAMSUNG 1.5TB GB
SUBSYSTEM=="block", KERNEL=="sd?", ATTRS{serial}=="533159364A39305343303334", NAME="usb/usb"
SUBSYSTEM=="block", KERNEL=="sd?[0-9]", ATTRS{serial}=="533159364A39305343303334", NAME="usb/usb%n", ACTION=="add", RUN+="/bin/pripoj.usb.sh".
SUBSYSTEM=="block", KERNEL=="sd?[0-9]", ATTRS{serial}=="533159364A39305343303334", NAME="usb/usb%n", ACTION=="remove", RUN+="/bin/odpoj.usb.sh".
Na tohle bacha, spouštět udevem skripty, které trvají delší dobu je dost problém, protože takový skript zablokuje celý udev. Nějakou inspiraci, jak to vyřešit hledej třeba zde (https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-in/28711#28711).