Od dłuższego czasu chciałem napisać o tym, jak przechowuję moje pliki, jak robię kopie zapasowe, ale jakoś nigdy nie miałem czasu. Niedawno pojawił się tutaj artykuł, w pewnym sensie podobny do mojego, ale z innym podejściem.
Od wielu lat staram się znaleźć idealną metodę przechowywania plików. Myślę, że ją znalazłem, ale zawsze można coś poprawić; jeśli masz jakieś pomysły, jak to zrobić lepiej, chętnie przeczytam.
Zacznę od tego, że powiem kilka słów o sobie. Zajmuję się tworzeniem stron internetowych i w wolnym czasie fotografuję. Stąd wniosek, że muszę przechowywać zarówno projekty robocze, jak i osobiste, zdjęcia, wideo oraz inne pliki.
Mam gdzieś 680 GB plików, z czego około 90% to zdjęcia i filmy.
Cykle plików w moich magazynach:

Tutaj jest orientacyjny schemat tego, jak i gdzie przechowuję wszystkie moje pliki.
Teraz bardziej szczegółowo.
Jak widać, sercem wszystkiego jest mój NAS, a dokładniej Synology DS214, jeden z najprostszych NAS-ów firmy Synology, mimo to radzi sobie ze wszystkim, czego potrzebuję.
Dropbox
Moim komputerem roboczym jest Macbook Pro 13, z 2015 roku. Mam tam 512GB, ale oczywiście nie mieszczą się tam wszystkie pliki, przechowuję tylko to, co jest potrzebne w danym momencie. Wszystkie osobiste pliki i foldery synchronizuję z Dropboxem, wiem, że to nie jest zbyt niezawodne, ale spełnia on funkcję synchronizacji. I robi to najlepiej, przynajmniej z tego, co przetestowałem. W przeszłości próbowałem wszystkich znanych i mniej znanych chmur.
Synology ma również swoje chmury, można je uruchomić na własnym NAS-ie. Kilka razy próbowałem przenieść się z Dropboxa na Synology Cloud Station, ale zawsze były problemy z synchronizacją, ciągle jakieś błędy lub nie wszystkie pliki były synchronizowane.
Wszystkie ważne pliki przechowuję w folderze Dropbox. Czasami zapisuję coś na pulpicie, aby nie zgubić, więc stworzyłem dowiązanie do folderu Dropbox za pomocą programu MacDropAny.
Folder Pobieranie nie jest synchronizowany, ale nie ma tam nic ważnego, tylko pliki tymczasowe. Jeśli ściągam coś ważnego, kopiuję to do odpowiedniego folderu w Dropboxie.
Moje przygody z Dropboxem.Dawno temu, gdzieś w latach 2013-2014, przechowywałem wszystkie pliki tylko w Dropboxie i nie miałem żadnych kopii zapasowych. Wtedy nie miałem 1 TB, więc za niego nie płaciłem; miałem gdzieś 25 GB, które zdobyłem przez zapraszanie przyjaciół lub inne zadania.
Pewnego pięknego poranka włączyłem komputer i wszystkie moje pliki zniknęły. Otrzymałem również wiadomość od Dropbox, w której przepraszali i informowali, że to z ich winy moje pliki zniknęły. Przesłali mi link, dzięki któremu mogłem przywrócić swoje pliki, ale oczywiście nic się nie udało. W ramach rekompensaty podarowali mi roczny dostęp do 1TB, więc stałem się ich klientem, jakkolwiek dziwnie to nie brzmi, nigdy im nie ufałem.
Jak pisałem wcześniej, nie mogłem znaleźć bardziej odpowiedniego dla mnie chmury. Po pierwsze, nie miałem problemów z synchronizacją, po drugie, wiele różnych usług działa tylko z Dropbox.
Gitem
Pliki związane z pracą przechowuję na serwerze roboczym, a osobiste projekty na GitLabie – to wszystko jest proste.
Time Machine
Robię także kopię zapasową całego systemu, wykluczając foldery Dropbox i Downloads, aby nie zajmować niepotrzebnie miejsca. Kopię systemu robię za pomocą Time Machine, doskonałe narzędzie, które wielokrotnie mi pomogło. Robię to na tym samym NAS-ie, ponieważ ma taką funkcję. Można to robić również na zewnętrznym dysku HDD, ale nie jest to tak wygodne. Za każdym razem trzeba podłączać zewnętrzny dysk i samodzielnie uruchamiać Time Machine. Z powodu lenistwa często robiłem takie kopie co kilka tygodni. Na serwerze kopie robią się automatycznie, nawet nie zauważam, kiedy to się dzieje. Pracuję z domu, więc zawsze mam świeżą kopię zapasową całego mojego systemu. Kopie są tworzone kilka razy dziennie, nie liczyłem, ile razy i jak często.
NAS
Tutaj dzieje się cała magia.
Synology ma wspaniałe narzędzie, nazywa się Cloud Sync, myślę, że z nazwy wiadomo, co robi.
Może synchronizować wiele systemów chmurowych ze sobą, dokładniej synchronizować pliki z serwera NAS z innymi chmurami. Myślę, że w sieci można znaleźć recenzję tego programu, nie będę wchodził w szczegóły. Lepiej opiszę, jak go używam.

Na serwerze mam folder o nazwie Dropbox, który jest kopią mojego konta Dropbox. Synchronizacją całego tego materiału zajmuje się Cloud Sync. Jeśli w Dropboxie coś się stanie z plikami, stanie się to także na serwerze, nieważne, czy to usunięcie, edytowanie, czy stworzenie. Generalnie klasyczna synchronizacja.
Yandex Disk
Dalej, wszystkie te pliki wrzucam na mój Yandex Disk, używam go jako samodzielnego dysku kopii zapasowej, to znaczy wrzucam tam pliki, ale nic stamtąd nie usuwam, wychodzi z tego taka maszynka do plików, ale parę razy mnie uratowała.
Google Drive
Wysyłam tam tylko folder „Photos”, również w trybie synchronizacji, robię to tylko dla wygodnego przeglądania zdjęć w Google Photos z możliwością ich usunięcia, a wtedy usuwają się wszędzie (z wyjątkiem Yandex.Disk, naturalnie). O zdjęciach napiszę poniżej, można by tam napisać osobny artykuł.
HyperBackup
Jednak wszystko to nie jest zbyt niezawodne, jeśli przypadkowo usuniesz plik, usunie się on wszędzie i można uznać go za utracony. Można oczywiście przywrócić go z Yandex.Disk, ale po pierwsze kopia zapasowa w jednym miejscu nie jest sama w sobie zbyt niezawodna, a po drugie sam Yandex.Disk to nie ten serwis, któremu można ufać w 100%, chociaż jeszcze nigdy nie miałem z nim problemów.
Dlatego zawsze starałem się przechowywać pliki jeszcze gdzieś indziej, już z prawidłowym systemem kopii zapasowych.

Synology ma również narzędzie do tego, nazywa się HyperBackup, tworzy kopię zapasową plików albo na inne serwery Synology, albo na jakieś rozwiązania chmurowe od zewnętrznych producentów.
Może także tworzyć kopię zapasową na zewnętrznych dyskach podłączonych do NAS-ów, tak robiłem do niedawna. Ale to też nie jest niezawodne, na przykład w przypadku pożaru koniec zarówno dla serwera, jak i dla HDD.
Synology C2
Tutaj płynnie przechodzimy do innej usługi, już od samej Synology. Ma ona własne chmury do przechowywania kopii zapasowych. Jest dedykowana do HyperBackup, tworzy tam kopię zapasową codziennie, ale to już przemyślana kopia zapasowa, są tam wersje plików, oś czasowa i nawet klienci dla Windows i macOS.

Na tym, z przechowywaniem plików, wszystko, mam nadzieję, że moje pliki są w bezpieczne.
Teraz przejdźmy do sortowania plików.
Zwykłe pliki, książki, skany dokumentów i inne mniej ważne pliki sortuję jak wszyscy ręcznie w folderach. Zwykle nie ma ich za dużo i otwieram je rzadko.
Najtrudniej jest z sortowaniem zdjęć i filmów, mam ich dużo.
Robię od kilku dziesięciu do kilku setek zdjęć miesięcznie. Fotografuję aparatem lustrzanym, dronem i czasami telefonem. Zdjęcia są zarówno prywatne, jak i do stocków. Czasami również nagrywam domowe filmy (nie to, co myślicie, tylko rodzinne filmy, częściej z córką). Muszę to jakoś przechowywać i sortować, żeby nie była chaos.
Mam folder w tym samym Dropboxie o nazwie Sort Images, tam są podfoldery, do których trafiają wszystkie zdjęcia i filmy, skąd są pobierane i sortowane tam, gdzie trzeba.

Sortowanie odbywa się na serwerze NAS, gdzie działają skrypty bash, które automatycznie uruchamiają się raz dziennie i wykonują swoje zadania. Za ich uruchomienie również odpowiada NAS, który ma harmonogram zadań odpowiedzialny za uruchamianie wszystkich skryptów i innych zadań. Można ustawić, jak często i kiedy będą uruchamiane zadania, harmonogram z interfejsem, jeśli jest prościej.

Dla każdych folderów jest swój skrypt. Teraz więcej o folderach:
Drone — tutaj trafiają zdjęcia z drona, które zrobiłem w celach osobistych. Najpierw przetwarzam wszystkie zdjęcia w Lightroomie, a potem dokonuję eksportu JPG do tego folderu. Stamtąd trafiają do innego folderu Dropbox, "Photo".
Tam jest folder "Drone", w którym są sortowane według lat i miesięcy. Skrypty same tworzą potrzebne foldery i zmieniają nazwy zdjęć zgodnie z moim szablonem, zwykle to data i godzina zrobienia zdjęcia, a na końcu dodaję losową cyfrę, aby pliki nie miały tej samej nazwy. Nie pamiętam, czemu do tych celów nie pasowało ustawienie sekund w nazwie pliku.
Дерево имеет такой вид: Photo/Drone/2019/05 — May/01 — May — 2019_19.25.53_37.jpg

Drone Video — na razie nie nagrywam wideo dronem, muszę się wielu rzeczy nauczyć, teraz nie mam na to czasu, ale folder już stworzyłem.
Images Operations — wewnątrz są dwa foldery, gdy pliki się tam pojawiają, są po prostu kompresowane do maksymalnej strony 2000px do publikacji w internecie lub wykonywane jest obracanie obrazów, tego już nie potrzebuję, ale na razie folderu nie usunąłem.
Panoramy — tutaj trafiają, jak można się domyślić, panoramy, które przechowuję oddzielnie, ponieważ są specyficznym rodzajem zdjęć, zwykle wykonuję je dronem. Robię też zwykłe panoramy, ale także panoramy 360 i czasami sfery, tego typu panoramy jak małe planety, również wykonuję dronem. Z tego folderu wszystkie zdjęcia trafiają również do Photo/Panoramas/2019/01 — May — 2019_19.25.53_37.jpg. Tutaj nie robię sortowania według miesięcy, ponieważ panoram nie ma aż tak dużo.
Personal Photo — Tutaj trafiają zdjęcia, które robię aparatem lustrzanym, zwykle są to zdjęcia rodzinne lub z podróży, ogólnie zdjęcia robione na pamięć i dla siebie. Również surowe zdjęcia przetwarzam w Lightroomie i potem eksportuję tutaj.
Отсюда они попадают сюда: Photo/2019/05 — May/01 — May — 2019_19.25.53_37.jpg
Jeśli jednak nagrałem jakieś wydarzenie lub coś, co lepiej byłoby przechowywać osobno, to w folderze 2019 tworzą folder o nazwie wydarzenia i ręcznie kopiuję tam zdjęcia.
RAW — tutaj trafiają źródła zdjęć. Zawsze robię w RAW, wszystkie zdjęcia przechowuję w JPG, ale czasami chcę również przechowywać pliki RAW, czasami chcę inaczej przetworzyć jakiś kadr. Zwykle to natura i trafiają tam tylko najlepsze ujęcia, nie wszystkie bez wyjątku.
Zdjęcie stockowe — tutaj wrzucam zdjęcia do stocków, które wykonuję albo na lustrzankę, albo na drona. Sortowanie jest takie samo jak w innych zdjęciach, po prostu do osobnego folderu.
W głównym katalogu Dropbox znajduje się folder Camera Uploads, to domyślny folder, do którego mobilna aplikacja Dropbox zrzuca wszystkie zdjęcia i wideo. Wszystkie zdjęcia żony z telefonu są tam wrzucane. Ja również wrzucam tutaj wszystkie swoje zdjęcia i wideo z telefonu, a stąd już sortuję do osobnego folderu. Robię to jednak w bardziej dla mnie wygodny sposób. Jest taka aplikacja na Androida, FolderSync, która pozwala przenieść wszystkie zdjęcia z telefonu na Dropbox, a potem usunąć je z telefonu. Ma wiele ustawień, polecam. W tym folderze trafiają także filmy z telefonu, są one również sortowane jak wszystkie zdjęcia, według lat i miesięcy.
Wszystkie skrypty sam zebrałem z różnych instrukcji w internecie, gotowych rozwiązań nie znalazłem. W ogóle nic nie wiem o skryptach bashowych, być może są tam jakieś błędy lub jakieś rzeczy można byłoby zrobić lepiej, ale najważniejsze dla mnie — spełniają swoją rolę i robią to, co chciałem.
Skrypty wrzuciłem na GitHub:
Dawniej do sortowania zdjęć i wideo używałem Hazel na macOS, tam wszystko jest łatwiejsze, wszystkie zadania tworzy się wizualnie, nie trzeba pisać kodu, ale są dwa minusy. Po pierwsze, trzeba trzymać wszystkie foldery na komputerze, żeby wszystko dobrze działało, a po drugie, jeśli nagle przejdę na Windowsa lub Linuxa, to nie ma takich programów. Próbowałem znaleźć alternatywy, ale wszystkie były kiepskie. A rozwiązanie ze skryptami na serwerze jest bardziej uniwersalne.
Wszystkie skrypty są skonfigurowane do wykonywania raz dziennie, zazwyczaj w nocy. Jeśli jednak nie ma czasu czekać i trzeba wykonać potrzebny skrypt teraz, są dwa rozwiązania: połączyć się przez SSH z serwerem i wykonać potrzebny skrypt lub zalogować się do panelu administracyjnego i ręcznie uruchomić skrypt. Wydaje mi się to niewygodne, dlatego znalazłem trzecie rozwiązanie. Jest program na Androida, który może wysyłać polecenia SSH. Stworzyłem kilka poleceń, dla każdego jest przycisk i teraz, gdy muszę na przykład posortować zdjęcia z drona, po prostu naciskam jeden przycisk, a skrypt się uruchamia. Program nazywa się SSHing, są też inne podobne, ale dla mnie ten jest najwygodniejszy.

Mam także kilka własnych stron internetowych, są bardziej dla formalności, prawie nikt ich nie odwiedza, ale mimo to wykonanie kopii zapasowej się przyda. Moje strony hostuję na DigitalOcean, gdzie zainstalowałem panel aaPanel. Tam mogę tworzyć kopie zapasowe wszystkich plików i baz danych, ale na tym samym dysku.
Przechowywanie kopii zapasowej na tym samym dysku to nie jest dobry pomysł, dlatego również przez skrypt bash łączę się tam i kopiuję wszystko na swój serwer, archiwizując wszystko w jednym archiwum z datą w nazwie.
Mam nadzieję, że przynajmniej komuś pomogą sposoby, które stosuję i którymi się dzielę.
Jak można zauważyć z artykułu, lubię automatyzację i staram się zautomatyzować wszystko, co tylko możliwe. Wiele rzeczy nie opisałem z perspektywy automatyzacji, ponieważ to już inne tematy i inne artykuły.
Źródło: habr.com
