Terminal pogryzł człowieka: cya
Kto powiedział, że robienie kopi zapasowych naszego systemu i danych musi być skomplikowaną czynnością? A takie można mieć odczucia przeglądając opcje i konfigurację większości programów o takim przeznaczeniu. Na dodatek ich wspaniałe interfejsy, daemony, wtyczki i pluginy zabierają nam cenne zasoby komputera. A gdyby tak sprowadzić całość do terminala, skonfigurować raz i zapomnieć? Czemu nie. Cover Your Ass(ets).
CYA nie dość, że jest rozwiązaniem terminalowym, to na dodatek w całości popełnionym w Bashu. Czyli zapomnijmy o konieczności kompilacji, spełniania zależności, oczekiwania na paczkę, itp. Skrypt pobieramy, wrzucamy do katalogu /usr/bin, nadajemy mu stosowne prawa (do uruchamiania) i możemy oddać się konfiguracji tego, co i jak chcemy chronić. CYA jest na tyle sprytny, że odnajdzie się niemal w dowolnym systemie plików – EXT2/3/4, XFS, UFS, GPFS, reiserFS, JFS, BtrFS, ZFS.
Program wykorzystuje dobrze znane polecenie rsync. Potrafi tworzyć snapshoty naszego systemu jak też wskazanych katalogów z danymi użytkownika. Proces odzyskiwania sprowadza się do uruchomienia komputera z LiveCD (najlepiej aby była to dystrybucja w wersji której używamy na co dzień) i odpalenia skryptu recovery.sh. Skrypt ten tworzymy za pomocą CYA i zapisujemy w dogodnym dla nas miejscu. Ot i cała filozofia. Po doprecyzowaniu o jakie lokalizacje chcemy się troszczyć, wrzucamy skrypt w CRON i zapominamy na długie miesiące. Ale wcześniej wspomniany skrypt:
$ cya script
Jak widzimy, program żywiołowo reaguje na wydawane mu komendy.
Kopie systemu
Standardowo CYA wykonuje do trzech nadpisujących się migawek naszego systemu.
$ cya save
☀ Cover Your Ass(ets) v2.2 ☀ ACTION ⯮ Standard Backup Checking sudo permissions... [sudo] password for dhor: We need to create /home/cya/points/1 ... done Backing up /bin/ ... complete Backing up /boot/ ... complete Backing up /etc/ ... complete . . . Backing up /lib/ ... complete Backing up /lib64/ ... complete Backing up /opt/ ... complete Backing up /root/ ... complete Backing up /sbin/ ... complete Backing up /snap/ ... complete Backing up /usr/ ... complete Backing up /initrd.img ... complete Backing up /initrd.img.old ... complete Backing up /vmlinuz ... complete Backing up /vmlinuz.old ... complete Write out date file ... complete Update rotation file ... complete ‣ Disclaimer: CYA offers zero guarantees as improper usage can cause undesired results ‣ Notice: Proper usage can correct unauthorized changes to system from attacks
Migawka trafi do /home/cya/points/. Aby stworzyć migawkę która nie zostanie nadpisana:
$ cya keep name NASZA_NAZWA
Dodając do powyższego polecenia overwrite wymusimy nadpisanie istniejącej kopii. Możemy też stworzyć skompresowane archiwum – dopisując archive. Oczywiście nie jesteśmy uwiązani do domyślnych lokalizacji dla kopii systemu – wszystko można ustawić edytując /home/cya/cya.conf.
Nasze dane
Aby wykonać kopię naszych danych wymagana będzie ingerencja w powyższym pliku *.conf. Należy dopisać tam linijkę określającą który katalog chcemy zachować i gdzie:
MYDATA_mojedokumenty=”/home/dhor/Dokumenty/ /home/cya/backup/mojedokumenty/”
I teraz czas na CYA:
$ cya mydata mojedokumenty
Możemy stworzyć konfigurację dla dowolnej liczby lokalizacji. Musimy tylko pamiętać, aby każda miała inny opis (po MYDATA_).
Chcemy wykluczyć któryś katalog? Proszę bardzo (cya.conf):
EXCLUDE_/var/=”tmp/ logs/”
Prawda, że wygląda to przystępnie? Oczywiście zwykły Kowalski żachnie się na takie rozwiązanie, ale niezależni organizatorzy środowiska dla swojego komputera… Kto wie.
I pamiętajmy, to nadal czysty Bash.
Chyba jednak pozostanę przy borgbackup..