Ich hatte mich schon mal mit rclone beschäftigt -> https://forum.frank-mankel.org/topic/27/restic-ein-backupkonzept-automatisieren?_=1584115522317
Was ist rclone?
Rclone - rsync for cloud storage
Rclone syncs your files to cloud storage: Google Drive, S3, Swift, Dropbox, Google Cloud Storage, Azure, Box and many more.
(rclone.org)
Nun mal rclone auf meinem Haupt-PC, Debian Buster, ausprobieren.
Installation
root@debian:~# apt install rclone
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden NEUEN Pakete werden installiert:
rclone
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 6.248 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 26,6 MB Plattenplatz zusätzlich benutzt.
Holen:1 https://deb.debian.org/debian buster/main amd64 rclone amd64 1.45-3 [6.248 kB]
Es wurden 6.203 kB in 8 s geholt (777 kB/s).
Vormals nicht ausgewähltes Paket rclone wird gewählt.
(Lese Datenbank ... 238249 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../rclone_1.45-3_amd64.deb ...
Entpacken von rclone (1.45-3) ...
rclone (1.45-3) wird eingerichtet ...
Konfiguration
root@debian:~# rclone config
2020/03/14 09:20:19 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> nextcloud
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / A stackable unification remote, which can appear to merge the contents of several remotes
\ "union"
2 / Alias for a existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Box
\ "box"
7 / Cache a remote
\ "cache"
8 / Dropbox
\ "dropbox"
9 / Encrypt/Decrypt a remote
\ "crypt"
10 / FTP Connection
\ "ftp"
11 / Google Cloud Storage (this is not Google Drive)
\ "google cloud storage"
12 / Google Drive
\ "drive"
13 / Hubic
\ "hubic"
14 / JottaCloud
\ "jottacloud"
15 / Local Disk
\ "local"
16 / Microsoft Azure Blob Storage
\ "azureblob"
17 / Microsoft OneDrive
\ "onedrive"
18 / OpenDrive
\ "opendrive"
19 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
20 / Pcloud
\ "pcloud"
21 / SSH/SFTP Connection
\ "sftp"
22 / Webdav
\ "webdav"
23 / Yandex Disk
\ "yandex"
24 / http Connection
\ "http"
Storage> 22
** See help for webdav backend at: https://rclone.org/webdav/ **
URL of http host to connect to
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Connect to example.com
\ "https://example.com"
url> https://nextcloud.example.de/remote.php/dav/files/User/
Name of the Webdav site/service/software you are using
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Nextcloud
\ "nextcloud"
2 / Owncloud
\ "owncloud"
3 / Sharepoint
\ "sharepoint"
4 / Other site/service or software
\ "other"
vendor> 1
User name
Enter a string value. Press Enter for the default ("").
user> Frank
Password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank
y/g/n> y
Enter the password:
password:
Confirm the password:
password:
Bearer token instead of user/pass (eg a Macaroon)
Enter a string value. Press Enter for the default ("").
bearer_token>
Remote config
--------------------
[nextcloud]
url = https://nextcloud.example.de/remote.php/dav/files/Frank/
vendor = nextcloud
user = Frank
pass = *** ENCRYPTED ***
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:
Name Type
==== ====
nextcloud webdav
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
Das sollte für Euch als Nextcloud User keine besondere Herausforderung sein. Unter https://nextcloud.example.de/settings/user/security legt ihr, wie gewohnt, das Gerät fest was auf Eure Nextcloud Instanz zugreifen darf.
Test
rclone ls nextcloud:
Ein erster Test gab mir den kompletten Inhalt der Nextcloud Installation aus. Hmm, nicht das was ich wollte. rclone soll nur auf ein bestimmtes Verzeichnis zugreifen dürfen. Also schnell einen Ordner in der Nextcloud angelegt.
Kurz ändern.
root@debian:~# rclone config
Current remotes:
Name Type
==== ====
nextcloud webdav
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> e
Choose a number from below, or type in an existing value
1 > nextcloud
remote> 1
--------------------
[nextcloud]
type = webdav
url = https://nextcloud.example.de/remote.php/dav/files/Frank/
vendor = nextcloud
user = Frank
pass = *** ENCRYPTED ***
--------------------
Edit remote
** See help for webdav backend at: https://rclone.org/webdav/ **
Value "url" = "https://nextcloud.example.de/remote.php/dav/files/Frank/"
Edit? (y/n)>
y) Yes
n) No
y/n> y
URL of http host to connect to
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Connect to example.com
\ "https://example.com"
url> https://nextcloud.example.de/remote.php/dav/files/Frank/rclone/
Value "vendor" = "nextcloud"
Edit? (y/n)>
y) Yes
n) No
y/n> n
Value "user" = "Frank"
Edit? (y/n)>
y) Yes
n) No
y/n> n
Value "pass" = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Edit? (y/n)>
y) Yes
n) No
y/n> n
Value "bearer_token" = ""
Edit? (y/n)>
y) Yes
n) No
y/n> n
--------------------
[nextcloud]
type = webdav
url = https://nextcloud.example.de/remote.php/dav/files/Frank/rclone/
vendor = nextcloud
user = Frank
pass = *** ENCRYPTED ***
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Remote config
Current remotes:
Name Type
==== ====
nextcloud webdav
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
Erneuter Test
root@debian:~# rclone ls nextcloud:
Jetzt zeigt er ein leeres Verzeichnis an. Kurz ein Dokument erstellt.
root@debian:~# rclone ls nextcloud:
4 Testing.md
Passt. Die rclone Konfiguration ist abgeschlossen. Jetzt kann ich mit rclone auf meine Nextcloud Installation zugreifen. Und wofür das Ganze? Mit Restic, in Verbindung mit rclone, möchte ich eine Datensicherung einrichten die Daten verschlüsselt in meiner Nextcloud Instanz ablegt.