Sailfish: Bilder automatisch zur Owncloud hochladen

Unter Android habe ich die Owncloud-App einzig zu dem Zweck genutzt meine Bilder automatisiert in meine Owncloud hochzuladen, wenn ich eine WLAN-Verbindung hatte. Diese Funktion vermisse ich derzeit bei meinem Jolla. Es gibt zwar eine Owncloud-App, aber diese hat wohl diese Funktion nicht und außerdem habe ich es noch nicht geschafft mich einzuloggen. Hier kommt mir entgegen, dass Sailfish OS ein Linux ist und sogar standardmäßig SSH und rsync an Board hat.

benutzt hat. Dazu habe ich zuerst ein SSH-Schlüsselpaar erstellt:
::: {.highlight} ssh-keygen :::
benutzt hat. Dazu habe ich zuerst ein SSH-Schlüsselpaar erstellt:
::: {.highlight} ssh-keygen :::
hat. Dazu habe ich zuerst ein SSH-Schlüsselpaar erstellt:
::: {.highlight} ssh-keygen :::

Den öffentlichen Schlüssel findet man nun in /home/nemo/.ssh/id_rsa.pub und muss ihn auf dem uberspace in die Datei /home/USER/.ssh/authorized_keys anhängen, wobei USER hier und im folgenden durch den eigenen Benutzernamen auf uberspace ersetzt werden muss.

Hier habe ich eine Anleitung gefunden, wie man einen automatischen Upload bei vorhandener WLAN-Verbindung startet und leicht auf meine Bedürfnisse angepasst.

mit diesem Inhalt an:
  • die Datei ~/.config/systemd/user/backup.path mit diesem Inhalt an:

::: {.highlight} [Unit] Description=Checks if paths changed or contain new images.

[Path]
PathChanged=%h/Pictures/Camera

[Install]
WantedBy=default.target

:::

trägt folgendes ein:
trägt folgendes ein:
trägt folgendes ein:
trägt folgendes ein:

::: {.highlight} [Unit] Description=Backs up files

[Service]
ExecStart=/home/nemo/backup.sh

:::

Schließlich muss man natürlich das eigentliche Script /home/nemo/backup.sh anlegen:

+———————————–+———————————–+ | ::: {.linenodiv} | ::: {.highlight} | | 1 | #!/bin/sh | | 2 | | | 3 | # Check if we’re on wlan | | 4 | if [ $(ifconfig | grep -o wla | | 5 | n0) ]; then | | 6 | echo “WLAN used” | | 7 | # Start backup using rsyn | | 8 | c | | 9 | /usr/bin/rsync /home/nemo | | 10 | /Pictures/Camera/ -a USER@DOMAIN: | | 11 | /home/USER/html/owncloud/data/OWN | | 12 | CLOUD_USER/files/SofortUpload/ | | 13 | else | | 14 | echo “No WLAN” | | 15 | if [ -e /tmp/backup.lock | | 16 | ]; then | | 17 | echo “Another script | | 18 | is already waiting for WLAN to sy | | 19 | nc.” | | 20 | exit 0 | | 21 | else | | 22 | # Wait for WLAN to co | | 23 | me back | | 24 | touch /tmp/backup.loc | | 25 | k | | ::: | until [ $(ifconfig | | | | grep -o wlan0) ]; do | | | echo “Still no WL | | | AN” | | | sleep 300 | | | done | | | /usr/bin/rsync /home/ | | | nemo/Pictures/Camera/ -a USER@DOM | | | AIN:/home/USER/html/owncloud/data | | | /OWNCLOUD_USER/files/SofortUpload | | | / | | | rm /tmp/backup.lock | | | fi | | | fi | | | | | | exit | | | ::: | +———————————–+———————————–+

Nun wird das Script wird per
::: {.highlight} chmod +x /home/nemo/backup.sh :::

ausführbar gemacht. Bei den beiden rsync-Aufrufen sind natürlich Benutzer, Domain, Owncloud-Benutzer und gewünschter Zielpfad anzupassen. Über sleep wird das Intervall in Sekunden eingestellt, in dem abgefragt wird ob WLAN vorhanden ist wenn Bilder ohne WLAN-Verbindung geschossen wurden.

Abschließend kann man das Script zum testen manuell ausführen
::: {.highlight} systemctl –user start backup.path :::
und wenn alles funktioniert aktivieren:
::: {.highlight} systemctl –user enable backup.path :::

Teilen: E-Mail

Hinterlasse einen Kommentar oder diskutiere im OSBN-Chat.

In den Kommentaren können folgende Formatierungen genutzt werden.