gaffitter + dvdisaster = całkiem dobry backup
Z racji niemiłych doświadczeń z dyskami twardymi, które zwykły mi padać w najmniej oczekiwanych momentach przyłożyłem się bardziej do tematu backupu danych i pomyślałem, że warto podzielić się doświadczeniami. Może komuś się przyda :-)
Na początek zamontowałem RAID'a 1. Ponieważ jednak żaden RAID nie zabezpieczy mi danych np. przed kradzieżą czy pożarem, postanowiłem usprawnić trochę procedurę backupu na płytkach DVD (w przyszłości BD), które traktuję jako żelazne zabezpieczenie właśnie na wypadek "kataklizmu".
Jako, że nie planuję backup'owych płytek na co dzień używać, pominąłem całkowicie zagadnienie ich katalogowania. Zabezpieczane dane to w moim przypadku tylko zdjęcia więc cała operacja sprowadzała się odpowiedniego wypalenia płytek.
Pozostały więc problemy: optymalnego wykorzystania pojemności płyty oraz zabezpieczenia jej przed błędami odczytu.
Optymalne wykorzystanie miejsca
...czyli nic innego jak tzw. problem plecakowy. Z lekkim uczuciem wstydu przyznam, że zmarnowałem trochę czasu na próbach samodzielnej implementacji rozwiązania tego problemu ale na szczęście szybko pod myszkę wpadł mi gaffitter, który wybawił mnie z opresji :).
Zabezpieczenie przed błędami odczytu
Tu już nawet nie próbowałem kombinować na własną rękę - skorzystałem z poleconego dvdistaster'a.
Jak to działa
Gdy już mamy potrzebne narzędzia możemy wziąć się do roboty. Zaczynamy od końca czyli od płytki. Znajdujemy właściwy rozmiar naszej płytki i wyznaczamy 80% tej wartości. 20% przeznaczone będzie na nadmiarowe dane naprawcze (Tak zaleca autor dvdisaster'a).
W moim przypadku było to: 4707319808B → 3765855846B
Następnie:
- używając
gaffitter'a wyznaczamy zestaw danych optymalnie wypełniających zadaną pojemność:
gaffitter -b -t 3765855846 /katalog/z/danymi - Wybrany zestaw danych zamieniamy na obraz ISO przy pomocy mkisofs:
mkisofs -o dvd.iso /katalog/z/zestawem - otrzymany plik iso wzbogacamy o dane naprawcze(żadne dodatkowe pliki nie zostaną dodane do obrazu płyty):
dvdisaster -c -mRS02 -i dvd.iso
Na końcu otrzymujemy plik ISO z gotowym do wypalania obrazem płyty.
Obraz wypalamy i cieszymy się zabezpieczoną płytką :-).
Wszystko oczywiście można też wyklikać, ale podejście konsolowe daje możliwość sporej automatyzacji.
Teścik
Oczywiście nie mogłem sobie odmówić przyjemności przetestowania skuteczności tego zabezpieczenia. Test nie był zbyt subtelny, po prostu porysowałem zabezpieczoną płytkę śrubokrętem i spróbowałem ją odczytać.
Płytka wyglądała tak:
Tak wyglądał proces jej odczytu (na czerwono zaznaczone sektory płyty, których nie dało się odzyskać:
Efektem dość długiego odczytu był obraz iso uszkodzonej płyty. Wystarczyło jedno kliknięcie (lub polecenie) w dvdisasterze i w automagiczny sposób obraz płyty wracał do stanu idealnego:
Oryginalny obrazmd5:3caeebc8dcfff53940eb2ad3a00b325b
Obraz płyty uszkodzonej
md5:758d5ae26de7f6c5159856ea5600a087
Obraz po naprawie:
md5:3caeebc8dcfff53940eb2ad3a00b325b
I to by było na tyle. Myślę, że warto poświęcić te 10 dodatkowych minut i 20% pojemności płyty dla zwiększenia bezpieczeństwa wypalanych danych. Powodzenia w backupowaniu.
Router martwy ale jednak żywy

... no i się okazało, że cała awaria to jeden elektrolit w zasilaczu. Koszt - coś koło 1zł. Po prostu super :-) Dobra rada dla właścicieli sprzętu Linksys'a (itp.), jeśli twój sprzęt przestał działać i robi tylko coś takiego: ... nie kupuj od razu nowego :)
Pidgin (dla Windows) - profile proxy
Zarówno w domu, jak i w pracy mój net śmiga przez proxy, z tym, że w domu tylko http, a w pracy wszystko. Żeby było trudniej jabber potrzebuje zupełnie innego proxy niż gg, nie mówiąc już np. o pluginie do facebook'a. Każda zmiana miejsca używania wiązała się z ręczną zmianą ustawieńJak na razie Pidgin profilów proxy nie wspiera, ani też o żadnym, służącym do tego celu pluginie nie słyszałem. Postanowiłem więc zmajstrować coś samodzielnie.
Coś mi nawet wyszło, więc się dzięlę - może komuś też się przyda :-).
Ustawienia proxy Pidgin trzyma w dwóch plikach:
- globalne ustawienia w:
PidginPortable\Data\settings\.purple\prefs.xml
- ustawienia dla poszczególnych kont w:
PidginPortable\Data\settings\.purple\accounts.xml
.bat).
Jest jednak inaczej. Pliki zawierają znacznie więcej. W przypadku zmiany jakiegokolwiek ustawienia programu, drugi zestaw ustawień stawałby się automatycznie nieaktualny.Pozostało grzebanie w plikach i podmiana tylko konkretnych ustawień proxy.
Pewnie dałoby się to zrobić w kilku liniach Perla/Pythona/itp. ale nie wchodziło to w moim przypadku w grę, ponieważ nie miałem pewności, że na wszystkich komputerach, na których będę uruchamiał Pidgina będzie coś więcej niż sam system.
Wybrałem więc windowsowy JScript. Może i jest coś lepszego, ale akurat tego chciałem spróbować :-).
Działanie skryptu jest banalne. Znajduje w plikach konfiguracyjnych odpowiednie node'y, podmienia na nowe, zapisuje i uruchamia Pidgina.
Plik:
run_at_home.js
W nagłówku znajduje się mniej więcej taka sekcja:
var settings = {
// -------------------------------------------------------------------------------------------+
'global' : {'type':'none' , 'host':'' , 'port': ''},
// -------------------------------------------------------------------------------------------+
'66666' : {'type':'none' , 'host':'' , 'port': ''},
'login@jabber.aster.pl/zasób' : {'type':'none' , 'host':'' , 'port': ''},
'login@irc.freenode.net' : {'type':'none' , 'host':'' , 'port': ''}
// -------------------------------------------------------------------------------------------+
}
Tę sekcję należy oczywiście zmienić według własnych potrzeb. Warto zajrzeć do oryginalnego pliku accounts.xml w razie wątpliwości.Poszczególne konta mogą mieć różne ustawiania:
'66666' : {'type':'http' , 'host':'moje.super.proxy.pl' , 'port': '8080'},
lub wskazywać na głowne, które musi być wtedy oczywiście ustawione:
'global' : {'type':'http' , 'host':'moje.super.proxy.pl' , 'port': '8080'},
// -------------------------------------------------------------------------------------------+
'66666' : {'type':'global' , 'host':'' , 'port': ''},
Przygotwujemy tyle kopii tego pliku ile proxy-profili nam potrzeba (do domu, do pracy, do sąsiada, do dziewczyny, ...
Tak na wszelki wypadek, lepiej zrobić kopię zapasowa plików ustawień przed użyciem tego skryptu - to że u mnie działa, nie znaczy, że będzie działać wszędzie :-).
Za wszelkie powstałe szkody nie odpowiadam.



