Zróbcie kopię zapasową zdjęć z Partoski na Raspberry Pi

#raspberry-pi#kopia-zapasowa#cli#automatyzacja#zdjęcia
P15 min czytania
Obraz okładki wpisu na blogu „Zróbcie kopię zapasową zdjęć z Partoski na Raspberry Pi”.

Załóżmy, że wasz klub organizuje mecz w każdą sobotę. Goście dodają zdjęcia do Partoski, ale nikt nie pamięta, żeby je pobrać, zanim uwagę wszystkich przejmie kolejne wydarzenie. Kopia zapasowa zdjęć na Raspberry Pi rozwiązuje to po cichu: zostawcie Raspberry Pi obok zewnętrznego SSD, uruchamiajcie jedno polecenie co noc i pozwólcie mu zbierać nowe zdjęcia, gdy śpicie.

Gotowa konfiguracja ma prosty podział zadań. Partoska zbiera zdjęcia od gości przez kod QR. Raspberry Pi trzyma lokalną kopię na dysku, który sami kontrolujecie. Gdy plik trafi już na zewnętrzny dysk, późniejsze usunięcie go z Partoski nie usuwa tej lokalnej kopii.

Ten poradnik zaczyna od pustej karty microSD. Obejmuje instalację Raspberry Pi OS w Windows, macOS i Linuksie, przygotowanie zewnętrznego dysku, instalację p6a, dokończenie logowania przez OAuth oraz utworzenie codziennego zadania cron.

Co będzie wam potrzebne?

Użyjcie Raspberry Pi, które obsługuje 64-bitowy system operacyjny. Pi 3, Pi 4, Pi 5 lub Zero 2 W ma wystarczającą moc obliczeniową do tego zadania; starszy 32-bitowy model nie uruchomi obecnej oficjalnej wersji p6a dla ARM64.

Potrzebujecie także:

  • karty microSD. Raspberry Pi zaleca co najmniej 16 GB dla Raspberry Pi OS Lite, choć karta 32 GB zostawia więcej miejsca na logi i aktualizacje systemu;
  • odpowiedniego zasilacza do Pi;
  • zewnętrznego SSD, dysku twardego lub pendrive'a wystarczająco dużego na archiwum;
  • czytnika kart microSD do komputera, na którym przygotujecie kartę;
  • dostępu przez Ethernet lub Wi-Fi.

SSD to najmniej kłopotliwy zewnętrzny dysk. Niektóre przenośne dyski twarde pobierają więcej prądu, niż port USB Raspberry Pi jest w stanie niezawodnie dostarczyć; jeśli dysk odłącza się pod obciążeniem, użyjcie zasilanego huba USB albo dysku z własnym zasilaczem.

Zapiszcie Raspberry Pi OS na karcie microSD

Stara nazwa „Raspbian” wciąż pojawia się w poradnikach, ale obecny system operacyjny nazywa się Raspberry Pi OS. Użyjcie Raspberry Pi Imager zamiast formatować kartę ręcznie. Imager kasuje wybrane urządzenie, zapisuje partycje i weryfikuje wynik w ramach tego samego procesu.

Zainstalujcie Raspberry Pi Imager na komputerze z waszym czytnikiem kart:

  • W Windows pobierzcie instalator dla Windows ze strony z oprogramowaniem Raspberry Pi i uruchomcie go.
  • W macOS pobierzcie instalator dla macOS i otwórzcie go w zwykły sposób.
  • W Linuksie pobierzcie oficjalną wersję x86_64. Użytkownicy Debiana i Ubuntu mogą też zainstalować program poleceniem sudo apt install rpi-imager, jeśli dystrybucja udostępnia ten pakiet.

Ekrany Imagera wyglądają tak samo we wszystkich trzech systemach:

  1. Wybierzcie swój model Raspberry Pi.
  2. Wybierzcie Raspberry Pi OS Lite (64-bit). Środowisko graficzne niczego nie wnosi do urządzenia, które będzie stać obok dysku i działać przez SSH.
  3. Jako urządzenie docelowe wybierzcie kartę microSD.
  4. Przed zapisem otwórzcie ustawienia personalizacji systemu.

Ustawcie nazwę hosta, na przykład partoska-backup, utwórzcie nazwę użytkownika i hasło, skonfigurujcie Wi-Fi, jeśli nie korzystacie z Ethernetu, i wybierzcie właściwą strefę czasową. W sekcji Services włączcie SSH. Uwierzytelnianie kluczem publicznym jest lepsze, jeśli już korzystacie z kluczy SSH; uwierzytelnianie hasłem wystarczy do pierwszej konfiguracji w zaufanej sieci domowej.

Sprawdźcie jeszcze raz wybrane urządzenie, zanim naciśniecie Write. Imager je skasuje. Odłączenie niepowiązanych dysków USB z wyprzedzeniem to tani sposób, by uniknąć wybrania niewłaściwego.

Poczekajcie, aż Imager zakończy weryfikację, wysuńcie kartę, włóżcie ją do Raspberry Pi i podłączcie zewnętrzny dysk. Włączcie Pi i dajcie mu minutę lub dwie na dołączenie do sieci.

Połączcie się przez SSH i zaktualizujcie Pi

W Terminalu w macOS lub Linuksie albo w PowerShellu w Windows połączcie się, używając nazwy użytkownika utworzonej w Imagerze:

ssh your-user@partoska-backup.local

Jeśli adres z końcówką .local się nie rozwiązuje, znajdźcie adres IP Pi w routerze i użyjcie go zamiast tego:

ssh your-user@192.168.1.50

Zaktualizujcie Raspberry Pi OS, zanim zainstalujecie cokolwiek innego:

sudo apt update sudo apt full-upgrade -y sudo reboot

Połączcie się ponownie po restarcie, a potem potwierdźcie, że system jest 64-bitowy:

uname -m

Oczekiwany wynik to aarch64. Jeśli pojawi się armv7l, Pi działa na obrazie 32-bitowym; zapiszcie kartę ponownie z Raspberry Pi OS Lite (64-bit), zanim będziecie kontynuować.

Przygotujcie zewnętrzny dysk

Niezawodna kopia zapasowa na zewnętrznym dysku Raspberry Pi zaczyna się od stałego punktu montowania. Podłączcie dysk i wypiszcie dostępne urządzenia pamięci masowej:

lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS,MODEL

Użyjcie rozmiaru, modelu i etykiety, żeby zidentyfikować zewnętrzną partycję. Przykłady poniżej używają /dev/sda1, ale wasze Pi może nazwać ją /dev/sdb1 albo inaczej. Karta microSD zwykle pojawia się jako /dev/mmcblk0; nie formatujcie jej.

Jeśli zewnętrzny dysk zawiera już pliki, które chcecie zachować, pomińcie polecenie formatujące. Skopiujcie te pliki w bezpieczne miejsce, zanim zmienicie system plików.

Dla dysku, który zostanie podłączony do Pi na stałe, rozsądnym wyborem jest ext4:

sudo mkfs.ext4 -L PARTOSKA /dev/sda1

To polecenie kasuje wybraną partycję. Sprawdźcie lsblk jeszcze raz, zanim je uruchomicie. Jeśli zamierzacie odłączać dysk i odczytywać go bezpośrednio w Windows lub macOS, sformatujcie go zamiast tego jako exFAT:

sudo apt install -y exfatprogs sudo mkfs.exfat -n PARTOSKA /dev/sda1

Polecenie formatujące exFAT również kasuje partycję.

Utwórzcie stały punkt montowania i znajdźcie UUID partycji:

sudo mkdir -p /mnt/partoska sudo blkid /dev/sda1

Zróbcie kopię zapasową pliku fstab, zanim go zmienicie:

sudo cp /etc/fstab /etc/fstab.before-partoska sudo nano /etc/fstab

Dodajcie jedną linię na końcu, zastępując przykładowe UUID wartością wypisaną przez blkid:

UUID=12345678-1234-1234-1234-123456789abc /mnt/partoska ext4 defaults,nofail,x-systemd.device-timeout=10 0 2

Dla exFAT zmieńcie typ systemu plików na exfat i ustawcie uid oraz gid na liczby wypisane przez id -u i id -g (zwykle 1000 dla pierwszego użytkownika):

UUID=1234-ABCD /mnt/partoska exfat defaults,nofail,x-systemd.device-timeout=10,uid=1000,gid=1000,umask=0022 0 0

W Nano zapiszecie plik klawiszem Ctrl+O, potwierdzicie nazwę klawiszem Enter, a edytor zamkniecie kombinacją Ctrl+X. Nano wyświetla te skróty jako ^O i ^X; daszek oznacza klawisz Ctrl.

Zamontujcie wszystko zadeklarowane w pliku fstab i potwierdźcie, że oczekiwane urządzenie jest obecne:

sudo mount -a findmnt /mnt/partoska

Poprawny wynik wygląda mniej więcej tak:

TARGET SOURCE FSTYPE OPTIONS /mnt/partoska /dev/sda1 ext4 rw,relatime

TARGET musi mieć wartość /mnt/partoska, a SOURCE powinien wskazywać zewnętrzną partycję znalezioną wcześniej. Nie kontynuujcie, jeśli findmnt nic nie wypisuje albo wskazuje systemową partycję karty microSD. Najpierw poprawcie UUID albo typ systemu plików.

Utwórzcie katalog na zdjęcia i nadajcie swojemu zwykłemu kontu prawo do zapisu w nim:

sudo mkdir -p /mnt/partoska/events sudo chown "$USER":"$USER" /mnt/partoska/events touch /mnt/partoska/events/.write-test unlink /mnt/partoska/events/.write-test

Na exFAT pomińcie polecenie chown; własność zapewniają zamiast tego opcje montowania uid i gid w pliku fstab.

Pozostałe przykłady instalacji i zadania cron działają z dowolnym z tych systemów plików, gdy jest zamontowany w /mnt/partoska. Dokumentacja Raspberry Pi dotycząca pamięci zewnętrznej opisuje dodatkowe opcje dla dysków exFAT i NTFS.

Zainstalujcie p6a

p6a to otwartoźródłowe narzędzie wiersza poleceń Partoski. Obecne wydanie zapewnia binarkę dla Linuksa ARM64, więc p6a na Raspberry Pi działa bez samodzielnej kompilacji. Wybierzcie jedną metodę instalacji; nie potrzebujecie wszystkich trzech.

Opcja A: pobranie binarki ARM64 przez wget

To najbardziej oszczędna droga na dedykowanym Pi do kopii zapasowych, bo nie wymaga instalowania Node.js ani innego menedżera pakietów. Wersja poniżej była aktualna w chwili publikacji artykułu; sprawdźcie stronę wydań p6a, czy nie ma nowszego numeru.

sudo apt install -y wget ca-certificates P6A_VERSION="1.11.5" wget "https://github.com/partoska/p6a-cmd/releases/download/v${P6A_VERSION}/p6a_${P6A_VERSION}_linux_arm64" -O p6a sudo install -m 0755 p6a /usr/local/bin/p6a p6a version

Opcja B: instalacja przez npm

Raspberry Pi OS niekoniecznie zawiera npm. Najpierw zainstalujcie Node.js i npm, a potem pakiet p6a dla waszej platformy:

sudo apt update sudo apt install -y nodejs npm sudo npm install -g @partoska/p6a p6a version

Opcja C: użycie Homebrew w Linuksie

Homebrew obsługuje Linuksa ARM64, a formuła Partoski wybiera właściwą binarkę dla Raspberry Pi. Jeśli Homebrew jest już na Pi, instalacja zajmuje jedno polecenie:

brew install partoska/tap/p6a p6a version

Dla powyższych poleceń p6a version powinno wypisać p6a v1.11.5 albo nowszą wersję, jeśli od tamtej pory ją wydano. Błąd Exec format error zwykle oznacza, że Pi działa na 32-bitowym systemie operacyjnym albo że pobrano niewłaściwą binarkę.

Instalowanie Homebrew tylko dla p6a to niepotrzebna praca. Wymaga narzędzi do budowania i własnego drzewa katalogów, podczas gdy bezpośrednie pobranie wykonuje tę samą pracę. Homebrew pozostaje dobrym wyborem, jeśli już go używacie do zarządzania innym oprogramowaniem na Pi.

Niezależnie od wybranej drogi, zapiszcie dokładną ścieżkę do binarki. Skrypt cron będzie jej potrzebował później:

command -v p6a

Bezpośrednie pobranie zwykle wypisuje /usr/local/bin/p6a. Homebrew w Linuksie zwykle wypisuje ścieżkę poniżej /home/linuxbrew/.linuxbrew/bin.

Zalogujcie się przez OAuth

Uruchomcie logowanie jako swoje zwykłe konto, bez sudo:

p6a login

Polecenie wypisuje adres URL autoryzacji. Otwórzcie go w przeglądarce, zwykle na komputerze, z którego łączycie się przez SSH, zalogujcie się do Partoski i zatwierdźcie dostęp. Na końcu przepływu autoryzacji OAuth2 przeglądarka pokaże kod; skopiujcie go do schowka i wklejcie w oczekującym poleceniu p6a. Przeglądarka nie musi działać na Raspberry Pi.

p6a zapisuje dane logowania na koncie waszego użytkownika, domyślnie w ~/.p6a. Zadanie cron musi działać jako ten sam użytkownik. Zalogowanie się poleceniem sudo p6a login zapisałoby dane logowania dla roota, a zadanie zwykłego użytkownika nie mogłoby się uwierzytelnić.

Sprawdźcie połączenie:

p6a list

Powinniście zobaczyć wydarzenia Partoski dostępne dla waszego konta.

Uruchomcie pierwszą kopię zapasową ręcznie

Zanim zaufacie automatycznej kopii zapasowej zdjęć na Raspberry Pi, udowodnijcie, że cała ścieżka działa:

mountpoint -q /mnt/partoska && echo "External drive mounted" p6a sync -t /mnt/partoska/events --owner-only find /mnt/partoska/events -maxdepth 2 -type f | head df -h /mnt/partoska

Pierwsze polecenie powinno wypisać:

External drive mounted

Jeśli nic się nie wypisze, zatrzymajcie się. Zewnętrzny dysk nie jest zamontowany w oczekiwanej ścieżce. Polecenie p6a sync powinno zakończyć się bez błędu uwierzytelniania, sieci ani systemu plików; dokładny wynik zależy od tego, ile wydarzeń i nowych plików znajdzie.

Polecenie find wypisuje wtedy do dziesięciu ścieżek pobranych plików. Prawdziwy wynik będzie wyglądał podobnie do tego:

/mnt/partoska/events/2026-07-18 Letni mecz/.event.p6a.ini /mnt/partoska/events/2026-07-18 Letni mecz/IMG_0001.jpg /mnt/partoska/events/2026-07-18 Letni mecz/IMG_0002.jpg /mnt/partoska/events/2026-07-18 Letni mecz/MOV_0001.mp4

Dla każdego wydarzenia powstaje folder w formacie RRRR-MM-DD Nazwa wydarzenia. Zdjęcia otrzymują nazwy takie jak IMG_0001.jpg, a filmy MOV_0001.mp4. Ukryty plik .event.p6a.ini zapisuje, które wydarzenie i identyfikatory mediów Partoski należą do folderu; zostawcie go na miejscu. head ogranicza wyświetlanie do dziesięciu ścieżek, więc to polecenie służy do szybkiej kontroli, a nie do liczenia plików.

Na koniec df powinno pokazać zewnętrzną partycję zamontowaną w /mnt/partoska. Pojemności będą się różnić, ale liczy się ostatnia kolumna i system plików:

Filesystem Size Used Avail Use% Mounted on /dev/sda1 916G 18G 852G 3% /mnt/partoska

Size, Used i Avail pokazują całkowitą, zajętą i pozostałą pojemność dysku. System plików powinien odpowiadać zewnętrznej partycji zidentyfikowanej wcześniej za pomocą lsblk, na przykład /dev/sda1. Jeśli to polecenie pokazuje /dev/mmcblk0p2, /dev/root albo inną systemową partycję karty microSD, zatrzymajcie się: dysk USB nie jest zamontowany, a zdjęcia trafiłyby na kartę systemową Raspberry Pi.

Uruchomcie polecenie sync po raz drugi po tych kontrolach. Powinno pominąć pliki już zapisane lokalnie i pobrać tylko nowe.

Wybierzcie, które wydarzenia synchronizować

Polecenie sync przyjmuje dwa filtry wydarzeń:

# Każde wydarzenie dostępne dla tego konta p6a sync -t /mnt/partoska/events # Tylko wydarzenia utworzone przez to konto p6a sync -t /mnt/partoska/events --owner-only # Tylko wydarzenia oznaczone jako ulubione p6a sync -t /mnt/partoska/events --favorite-only # Wydarzenia, które są zarówno własne, jak i ulubione p6a sync -t /mnt/partoska/events -o -f

Krótka opcja -f oznacza ulubione wydarzenia. Nie oznacza ulubionych zdjęć wewnątrz wydarzenia. Dla Raspberry Pi należącego do klubu lub obiektu --owner-only to rozsądny wybór domyślny, bo pozwala uniknąć archiwizowania niepowiązanych wydarzeń, do których ktoś dołączył jako gość.

Zabezpieczcie kopię zapasową przed brakującym dyskiem

Zwykła linia cron wywołująca p6a sync kryje w sobie nieprzyjemną pułapkę. Jeśli zewnętrzny dysk jest odłączony, ale /mnt/partoska wciąż istnieje jako zwykły katalog, Linux może zapisać pobrane pliki na karcie microSD. Kilka większych filmów wystarczy, żeby ją zapełnić.

Użyjcie krótkiego skryptu, który odmawia uruchomienia, dopóki zewnętrzny dysk nie jest zamontowany. Utwórzcie osobisty katalog bin:

mkdir -p "$HOME/bin" nano "$HOME/bin/partoska-backup.sh"

Wklejcie ten skrypt, dostosowując P6A_BIN do ścieżki zwróconej przez command -v p6a:

#!/usr/bin/env bash set -euo pipefail P6A_BIN="/usr/local/bin/p6a" MOUNT_POINT="/mnt/partoska" TARGET="${MOUNT_POINT}/events" if ! /usr/bin/mountpoint -q "$MOUNT_POINT"; then echo "External drive is not mounted at $MOUNT_POINT" >&2 exit 1 fi if [[ ! -x "$P6A_BIN" ]]; then echo "p6a is not executable at $P6A_BIN" >&2 exit 1 fi mkdir -p "$TARGET" "$P6A_BIN" sync -t "$TARGET" --owner-only

Zapiszcie i zamknijcie edytor.

Nadajcie mu prawo wykonywania i uruchomcie go raz samodzielnie:

chmod 700 "$HOME/bin/partoska-backup.sh" "$HOME/bin/partoska-backup.sh"

Uprawnienie 700 oznacza, że tylko właściciel pliku może go odczytywać, zmieniać i uruchamiać. Jeśli zaufana grupa linuksowa też powinna móc go odczytywać i uruchamiać, użyjcie zamiast tego chmod 750: właściciel otrzymuje prawo odczytu, zapisu i wykonania, grupa otrzymuje prawo odczytu i wykonania, a pozostali nie mają żadnego dostępu.

Nie planujcie w cronie skryptu, który nie przeszedł tego ręcznego testu.

Zaplanujcie codzienne zadanie cron

Kopia zapasowa przez cron na Raspberry Pi może teraz wywoływać zabezpieczony skrypt. Upewnijcie się, że usługa cron istnieje i uruchamia się przy starcie systemu:

sudo apt install -y cron sudo systemctl enable --now cron

Otwórzcie swój crontab użytkownika:

crontab -e

Dodajcie tę linię, żeby uruchamiać kopię zapasową codziennie o 3:15 w strefie czasowej skonfigurowanej na Pi:

15 3 * * * "$HOME/bin/partoska-backup.sh" >> "$HOME/partoska-backup.log" 2>&1

Zapiszcie i zamknijcie edytor, a potem potwierdźcie, że cron przyjął wpis:

crontab -l

Polecenie powinno wypisać zapisany harmonogram:

15 3 * * * "$HOME/bin/partoska-backup.sh" >> "$HOME/partoska-backup.log" 2>&1

Po pierwszym zaplanowanym uruchomieniu sprawdźcie log i dysk:

tail -n 50 "$HOME/partoska-backup.log" findmnt /mnt/partoska df -h /mnt/partoska

Cron nie ponawia próby o 3:16, jeśli Pi było wyłączone o 3:15. To nieszkodliwe: kolejna udana synchronizacja pobierze pliki, których jeszcze nie pobrano. Uruchomcie skrypt ręcznie po dłuższej przerwie, jeśli nie chcecie czekać do następnej nocy.

Co się dzieje, gdy zdjęcie zostanie usunięte z Partoski?

p6a sync tylko uzupełnia lokalne archiwum, nie odwzorowuje dokładnie stanu online. Pobiera brakujące pliki online i pomija te już obecne na zewnętrznym dysku. Nie usuwa lokalnego zdjęcia tylko dlatego, że to zdjęcie albo całe wydarzenie nie pojawia się już online.

To rozróżnienie ma znaczenie. Gdy nocne zadanie już pobierze zdjęcie, usunięcie go z Partoski zostawia kopię na Raspberry Pi bez zmian. Zdjęcia usuniętego przed pierwszą udaną synchronizacją p6a nie może odzyskać, więc trzymajcie Pi działające przez okres przechowywania danego wydarzenia.

Zmiana nazwy wydarzenia różni się od usunięcia. Jeśli wydarzenie online otrzyma nową nazwę, p6a może zmienić nazwę lokalnego folderu wydarzenia, zachowując pobrane media w środku.

Zewnętrzny dysk obok Raspberry Pi to wciąż tylko jeden dysk, a dyski się psują. Zdjęcia, których nie da się odtworzyć, skopiujcie także na drugi dysk albo w miejsce poza domem czy klubem.

Dla gości nic się nie zmienia

Nic w tej konfiguracji nie zmienia sposobu, w jaki ludzie dodają zdjęcia. Goście skanują kod QR wydarzenia i przesyłają zdjęcia przez przeglądarkę; nie widzą Raspberry Pi, p6a ani crona. Pi obsługuje wyłącznie archiwum organizatora po tym, jak pliki trafią do Partoski.

Aplikacja internetowa również pozostaje dostępna do tworzenia wydarzeń, moderacji i przeglądania. Kopia zapasowa zdjęć z Partoski na Raspberry Pi przydaje się tam, gdzie lokalne kopie mają powstawać regularnie bez kolejnego przypomnienia. Jeśli chcecie też tworzyć wydarzenia, generować kody QR albo korzystać z asystenta AI z terminala, przeczytajcie powiązany poradnik o Partoska CLI i AI.

Przy małym wydarzeniu możecie przetestować całą konfigurację na darmowym planie; limity miejsca i czasu przechowywania różnią się w zależności od planu.

Utwórzcie wydarzenie

Potem potwierdźcie ręczną synchronizację i pozwólcie Pi przejąć nocną zmianę.

FAQ

Jakiego Raspberry Pi użyć do kopii zapasowej zdjęć z Partoski?

Użyjcie modelu obsługującego 64-bitowy Raspberry Pi OS, na przykład Pi 3, Pi 4, Pi 5 albo Zero 2 W. Obecne wydanie p6a dla Raspberry Pi celuje w ARM64. Pi 4 albo Pi 5 z zewnętrznym SSD oferuje najmniej kłopotliwą konfigurację, ale synchronizacja zdjęć nie wymaga dużej mocy procesora.

Czy Raspberry Pi musi działać przez cały dzień?

Nie. Potrzebuje zasilania, dostępu do sieci i zewnętrznego dysku o zaplanowanej porze kopiowania. Pozostawienie go włączonego jest prostsze i zużywa niewiele prądu. Jeśli pominie jedno uruchomienie, kolejna synchronizacja pobierze pliki, których jeszcze nie ma lokalnie.

Co pobiera p6a sync -f?

Pobiera wydarzenia oznaczone jako ulubione. Nie ogranicza pobierania do ulubionych zdjęć wewnątrz tych wydarzeń. Połączcie -f z -o, jeśli chcecie wydarzenia, które są zarówno wasze, jak i ulubione.

Czy cron zapełni kartę microSD, jeśli dysk USB się odłączy?

Skrypt z tego poradnika sprawdza mountpoint przed uruchomieniem. Jeśli zewnętrzny dysk jest odłączony, kończy działanie z błędem i niczego nie zapisuje. Nie usuwajcie tej kontroli.

Czy usunięte zdjęcia z Partoski pozostają na Raspberry Pi?

Tak, pod warunkiem że p6a pobrało je przed usunięciem online. Synchronizacja nie usuwa lokalnych plików w reakcji na usunięcia zdalne. Jeśli zdjęcie zniknęło, zanim Pi je skopiowało, lokalne archiwum nigdy go nie otrzymało.

Czy mogę podłączyć dysk archiwum bezpośrednio do Windows lub macOS?

Użyjcie exFAT, jeśli zależy wam na regularnym bezpośrednim dostępie ze wszystkich trzech systemów operacyjnych. Użyjcie ext4, gdy dysk zostanie na stałe przy Pi; uzyskujcie dostęp do plików przez SSH, SFTP albo udział sieciowy.

Czy nadal mogę korzystać z aplikacji internetowej Partoska?

Tak. Twórzcie i moderujcie wydarzenia w aplikacji internetowej, kiedy jest to wygodniejsze. p6a korzysta z tego samego konta i tych samych wydarzeń, dodając dostęp z terminala i zaplanowane lokalne pobieranie.