Sailfish: Bilder automatisch zur Owncloud hochladen

Dazu habe ich zuerst ein SSH-Schlüsselpaar erstellt:

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.

Man legt auf dem Jolla die Datei ~/.config/systemd/user/backup.path mit diesem Inhalt an:

[Unit]
Description=Checks if paths changed or contain new images.

[Path]
PathChanged=%h/Pictures/Camera

[Install]
WantedBy=default.target

Danach legt man die Datei ~/.config/systemd/user/backup.service und trägt folgendes ein:

[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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh

# Check if we're on wlan
if [ $(ifconfig | grep -o wlan0) ]; then
    echo "WLAN used"
    # Start backup using rsync
    /usr/bin/rsync /home/nemo/Pictures/Camera/ -a USER@DOMAIN:/home/USER/html/owncloud/data/OWNCLOUD_USER/files/SofortUpload/
else
    echo "No WLAN"
    if [ -e /tmp/backup.lock ]; then
        echo "Another script is already waiting for WLAN to sync."
        exit 0
    else
        # Wait for WLAN to come back
        touch /tmp/backup.lock
        until [ $(ifconfig | grep -o wlan0) ]; do
            echo "Still no WLAN"
            sleep 300
        done
        /usr/bin/rsync /home/nemo/Pictures/Camera/ -a USER@DOMAIN:/home/USER/html/owncloud/data/OWNCLOUD_USER/files/SofortUpload/
        rm /tmp/backup.lock
    fi
fi

exit

Nun wird das Script wird per

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

systemctl --user start backup.path

und wenn alles funktioniert aktivieren:

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.