Instruktaż/Tutorial QNAP TVS-471 – backup fotografii i filmów na flickr

acosta.info.pl_wp_content_uploads_2016_10_qnap_flickr04.png
Mój QNAP TVS-471 służy mi do przeróżnych celów ale najważniejszym chyba jest trzymanie i dzielenie się fotkami z najbliższymi. Jeśli wierzyć temu, co wypisuje QNAPowy eksplorator plików (File Station), mam w swoim folderze Photo 47423 pliki ze zdjęciami i filmikami, zorganizowane w 862 folderach a całość „waży” prawie 230 gigabajtów. To sporo dobra z kategorii tych najważniejszych i strategicznych, dla którego w ogóle się NASy kupuje i jeśli które zaginie w jakiejś ogólnej tragedii sprzętowej, będzie płacz ogromny i stracony kawał rodzinnej historii. To najwrażliwsze dane z możliwych, za utratę których żona najprawdopodobniej zawiesiłaby mnie na krzyżu. I to do góry nogami. Trzeba więc systematycznie czynić kopie zapasowe tego najważniejszego z folderów współdzielonych. Dziś podrzucę sposób na to, jak trzymać kopię swoich zdjęć w serwisie flickr.

Zacznę może jednak od opisania swojego workflow związanego z fotkami, to pomoże zrozumieć nieco moją hierarchię plików i związane z nią potrzeby odnośnie backupu danych.

Wgrywaniem fotek do QNAPa zajmuje się przedni port USB, do którego podłączam po prostu aparat i który za pomocą funkcji Szybkie kopiowanie USB (Hybrid Backup Sync -> Zewnętrzna kopia zapasowa -> Szybkie kopiowanie USB) zrzuca pliki z aparatu do NASa. Mając już pliki na NASie, przerzucam je do odpowiednich folderów.

Dla fotek w NASie stworzyłem osobny folder współdzielony o nazwie Photo. Dlaczego tak? A dlatego, że mam różne grupy użytkowników, które mają różne uprawnienia do folderów współdzielonych. Wśród użytkowników mam członków rodziny, których mam przypisanych do osobnej grupy „family”, która ma defaultowy dostęp read-only (a co mi będą w fotkach mieszali!) do folderu współdzielonego Photo. Reszta użytkowników (znajomi dalsi lub bliżsi) dostępu do folderu nie ma, dzięki czemu zachowuję prywatność tych wrażliwych danych.

Folder współdzielony Photo ma podfoldery których nazwy są kolejnymi latami mojej fotkowej kolekcji. Wygląda to o tak:

acosta.info.pl_wp_content_uploads_2016_10_qnap_flickr01.png

QNAP TVS-471 vs flickr – struktura folderów na serwerze​


W każdym folderze z datą określającą rok, mam następne podfoldery, które już opisowo przedstawiają, jakie fotki można pod konkretną datą znaleźć. Po wejściu do folderu np. 2016 wygląda to mnie-więcej tak:
acosta.info.pl_wp_content_uploads_2016_10_qnap_flickr02.png

QNAP TVS-471 vs flickr – struktura folderów na serwerze​


Jak widać jest to w miarę systematycznie pozbierane, posortowane i opisane. Cały myk w robieniu backupu lokalnie i online polega na tym, by zachować te kluczowe informacje jakoś sortujące to moje morze fotek i filmików.


QNAP TVS-471 i lokalny backup fotek
Backup lokalny kolekcji to fraszka – za kopie odpowiedzialna jest aplikacja Hybrid Backup Sync, która robi mi kopie raz dziennie na dwa zewnętrzne nośniki: jeden dysk zewnętrzny podpięty do NASa przez port USB i jeden (kolejny :)) NAS za pomocą protokołu rsync. W efekcie mam dwie kopie swoich zdjęć na dwóch różnych urządzeniach, z czego ten drugi NAS grzecznie wszystko trzyma w macierzy RAID, dzięki czemu nawet jeśli któryś z dysków tam zdechnie, będzie można coś z tym jeszcze zrobić.

Problem jest oczywisty: a co się stanie, gdy padnie mi wszystko albo – nie daj Boże – obrobią mi chałupę i wszystko wyniosą? Tu właśnie trzeba zadbać o zewnętrzny backup danych, poza lokalizacją, najlepiej gdzieś w chmurze, korzystając z usługi, która za chwilę nie zdechnie (przez lata używania takich usług mam już serdecznie dość startupów, którym nie udało się naciągnąć kolejnych inwestorów i zdychających w bólach, a wraz z nimi zdychających moich danych).

Możliwości jest od groma a wszystkie sensowne – płatne. Może nie za dużo ale jednak. Na szczęście mamy istniejącego od lat i nie wyglądającego na chętnego do upadku flickra, który oferuje równy terabajt za free do trzymania swoich fotek. No i przede wszystkim: jest jednym z najlepszych serwisów okołofotkowych, doskonale zorganizowanym, z sensownymi zabezpieczeniami prywatności ale też umożliwiającym udostępnianie kolekcji, jej organizowanie i w ogóle. No i przede wszystkim nie ogranicza wielkości zdjęć, pozwala na archiwizowanie ich oryginałów, nie przycina niczego i nie woła o kasę na każdym kroku. Top idealny serwis nie tylko do backupu.

OK, ale jak skopiować kolekcję tysięcy zdjęć ładnie pogrupowanych już w albumy zachowując te wszystkie informacje i – najlepiej – całą strukturę? Jest taki jeden skrypt…


Flickr Uploader
Programów do ładowania kolekcji fotek na serwery flickra jest od groma ale ja chcę to robić koszernie, czyli zapędzając serwer do roboty, w końcu od tego jest :). Do tego właśnie przyda się skrypt pythona o prostej nazwie flickr uploader. Z krótkiego opisu:

Features:
  • Uploads images in full resolution to Flickr account (JPG, PNG…)
  • Reuploads modified images
  • Removes images from Flickr when they are removed from your local hard drive
  • Uploads videos (AVI, MOV, MPG, MP4, 3GP…)
  • Stores image information locally using a simple SQLite database
  • Creates „Sets” based on the folder name the media is in (getting existing sets from Flickr is managed also)
  • Ignores unwanted directories (like „.picasabackup” for Picasa users)
  • Allows specific files to be ignored (via regular expressions)
  • Convert RAW files (with an external tool)

Wygląda na to, że to cholerstwo oferuje wszystko, co jest potrzebne do sensownego wrzucenia fotek do serwisu flickr! OK, nie ma co kombinować, trzeba używać! Tym bardziej, że skrypt jest MEGA przydatny. Z ciekawszych funkcji: skrypt tworzy sobie własną bazę danych uploadowanych plików i sprawdza, czy od ostatniego uploadu pliki aby nie uległy zmianie. Jeśli uległy, zostają w serwisie flickr podmienione pliki starsze, na pliki nowsze. Jeśli więc dokonałeś jakiejś edycji zdjęć, zostanie to odwzorowane w serwisie flickr. Skrypt zakłada albumy i organizuje zdjęcia w sety, co jest ultrarewelacyjną sprawą, kiedy ma się zadbaną kolekcję odpowiednio posegregowaną folderami. No i skrypt jest szybki. Widziałem kilka programów w akcji, w tym QNAPowy skrypt dołączony w systemowym Photo Station i powiadam wam, większość z nich może temu skryptowi buty czyścić. OK, ale zacznijmy może już tego używać.

W tym celu należy zainstalować jakieś optware, czyli repozytoria dodatkowego oprogramowania dla QNAPa. Najprostszy sposób to dodanie do aplikacji App Center repozytoriów qnapclub.eu. W tym celu należy otworzyć aplikację App Center, wskoczyć w ustawienia i dodać to repozytorium:
[URL]http://store.qnapclub.eu/store.php[/URL]
acosta.info.pl_wp_content_uploads_2016_10_qnap_flickr03.png

QNAP TVS-471 vs flickr – konfiguracja aplikacji App Center​


Po odświeżeniu listy pakietów i przejściu do zakładki z nowym źródłem oprogramowania, w dziale Dev tools znajdzie się pakiecik Entware-ng. Instalujemy! Dla ciekawskich: jak używać pakietu i lista aplikacji obsługiwanych oferowanych przez Entware-ng.

Po zainstalowaniu pakietu (i najprawdopodobniej reboocie serwera – sorry, już nie pamiętam, by był wymagany) mamy do dyspozycji sporo dodatkowego softu, który może okazać się bardzo przydatny. Logujemy się na serwerze do konsoli za pomocą ssh (w Windowsie można użyć np. znanego Putty).

Po podaniu hasła i zalogowaniu się do serwera aktualizujemy bazę oprogramowania Entware-ng:
opkg update

Najpierw zainstalujmy pakiet tmux – to odpowiednik popularnego screena, który mi pasuje zdecydowanie bardziej. Co to daje? Możliwość pozostawienia zadania wykonywanego w konsoli po wylogowaniu się z serwera. Jako że upload tysięcy fotek będzie trochę trwał, przyda się taka możliwość bardzo. Radzę poczytać instrukcję obsługi, warto!
opkg install tmux

Teraz pobieramy skrypt flickr uploader ze strony GitHub - trickortweak/flickr-uploader: Upload a directory of media to Flickr to use as a backup to your local storage i wrzucamy do jakiegoś folderu na serwerze. Ja wrzucam do katalogu domowego admina do podkatalogu skrypty, w którym utworzyłem sobie podkatalog flickr-uploader-master. Następnie przechodzimy do tego katalogu:
cd /share/CACHEDEV1_DATA/homes/admin/skrypty/flickr-uploader-master/

Listujemy zawartość katalogu:
ls

Powinny się w nim znajdować takie pliki:
README.md
uploadr.ini
uploadr.py*

Przy pliku uploadr.py pokazuje się u mnie gwiazdka a to dlatego, że nadałem mu wcześniej atrybut wykonywalności:
chmod +x uploadr.py

OK, cięższą część mamy za sobą. Teraz czas na konfigurację skryptu.

Do konfiguracji skryptu służy plik uploadr.ini, w którym definiujemy różne informacje dla skryptu. Szczegółowy opis procesu konfiguracji znajdziecie na jego stronie – nic skomplikowanego, ja tylko może przybliżę działanie niektórych opcji definiowanych w pliku uploadr.ini

FILES_DIR = „” – definiujemy miejsce, w którym znajduje się folder z fotkami. U mnie wygląda tak:

INI:
FILES_DIR = „/share/CACHEDEV1_DATA/Photo”

„title” : „” – nie wypełniam, poproszę skrypt, by stworzył odpowiednie sety
„description” : „” – także pozostawiam puste
„tags” : „auto-upload” – ładowane przez skrypt zdjęcia otrzymają taki tag
„is_public” : „0” – czy zdjęcia mają być publicznie dostępne – 0 oznacza „nie”
„is_friend” : „0” – czy zdjęcia mają być dostępne dla przyjaciół
„is_family” : „0” – czy zdjęcia mają być dostępne dla rodziny
„api_key” : „” – tu wprowadź klucz api aplikacji stworzonej w serwisie flickr
„secret” : „” – tu wprowadź sekret aplikacji stworzonej w serwisie flickr

Z innych wartych uwagi opcji dostępnych w pliku uploadr.ini bardzo polecam edycję opcji EXCLUDED_FOLDERS. Bardzo ważne! Dzięki wykluczeniu folderów (standardowo ukrytych) z miniaturkami fotek tworzonymi na QNAPie, nie będziecie mieli śmietnika na serwerach flickr. W QNAPie te dane znajdują się w ukrytych folderach o nazwie „@__thumb” lub „.@__thumb”. W S to folder „@eaDir”. Warto to wszystko dorzucić do opcji EXCLUDE_FOLDERS. U mnie wygląda to tak:
EXCLUDED_FOLDERS = [„@__thumb”,”.@__thumb”,”@upload_cache”,”@eaDir”,”#recycle”,”.picasaoriginals”,”_ExcludeSync”,”Corel Auto-Preserve”,”Originals”,”Automatisch beibehalten von Corel”]

Następna opcja warta edycji to ALLOWED_EXT. Do serwisu flickr będą uploadowane tylko pliki z tymi rozszerzeniami. U mnie wygląda to tak:
ALLOWED_EXT = [„jpg”,”png”,”avi”,”mov”,”mpg”,”mp4″,”3gp”,”nef”]

Następna opcja warta uwagi to FULL_SET_NAME. Tu ustawiamy, jak mają wyglądać tworzone przez flickr sety (odpowiedniki albumów). Warto ustawić tej opcji parametr „True”, dzięki temu ładnie w serwisie flickr zostanie odwzorowana hierarchia folderów na serwerze. U mnie wygląda to tak:
FULL_SET_NAME = True

Po zapisaniu pliku uploadr.ini i wgraniu na serwer, można odpalić skrypt.

Jak już wspomniałem, upload tysięcy fotek może chwilę potrwać (u mnie trwało to nieco ponad trzy dni), więc odpalamy w konsoli zainstalowanego wcześniej tmuxa…
tmux

Po wejściu do interfejsu tmuxa, przechodzimy do folderu ze skryptem i plikiem konfiguracyjnym…
cd /share/CACHEDEV1_DATA/homes/admin/skrypty/flickr-uploader-master/

No i odpalamy sam skrypt…
./uploadr.py

Teraz zostaje już tylko czekanie na zakończenie wykonywania się skryptu. Aby wylogować się z konsoli serwera bez przerywania uploadu fotek, wystarczy po prostu wcisnąć ctrl-b a później d aby wykonać w tmuxie operację detach (odłączenia). Zniknie wtedy interfejs tmuxa ale spoko, na serwerze wszystko ciągle działa. Można oczywiście znów zalogować się na serwer i przywrócić sesję, od której wcześniej się odłączyliśmy. Wystarczy po zalogowaniu się na serwer wpisać w konsoli
thus attach

i już sesja jest przywrócona a my możemy podziwiać ładujące się wciąż fotki i filmiki.

Uwaga! Być może skrypt będzie zgłaszał problem związany z pythonem i będzie trzeba doinstalować wcześniej biblioteki pythona za pomocą opkg, jeśli te systemowe zawiodą. W tym celu należy w konsoli wykonać…
opkg install python

W efekcie na serwerach flickra znajdą się wasze fotki pogrupowane w sety zgodnie z potworzonymi na serwerze folderami. Viola. Zrobione! U mnie, po wyświetleniu widoku albumów we flickrze, wygląda to tak:
acosta.info.pl_wp_content_uploads_2016_10_qnap_flickr05.png

QNAP TVS-471 vs flickr – efekt działania skryptu​


Mam nadzieję, że komuś się ten mały tutek przyda. Rodzinne fotki i filmiki trzeba chronić za wszelką cenę!

(Źródło)
 

Użytkownicy znaleźli tą stronę używając tych słów:

  1. szybkie kopiowanie