Datensicherung / Einbindung auf pCloud (online Cloud)

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
Habe jetzt mal ubuntu 22.04 als Image genommen (minimal Install) und in Docker gestartet mit einem Volume zB /Dokumente (Freigegebener Ordner). Zugriff auf die Synology ist somit schon einmal möglich. (DSM 7.1.1-42962 Update 3)
Im Terminal dann ein Update gemacht und Netzwerktools installiert
Code:
apt-get update
apt-get install net-tools
Jetzt die Anleitung unter https://github.com/pcloudcom/console-client befolgt.
Also
Code:
apt-get install cmake zlib1g-dev libboost-system-dev libboost-program-options-dev libpthread-stubs0-dev libfuse-dev libudev-dev fuse build-essential git
mkdir console-client
git clone https://github.com/pcloudcom/console-client.git ./console-client/
cd ./console-client/pCloudCC/
cd lib/pclsync/
make clean
make fs
cd ../mbedtls/
cmake .
make clean
make
cd ../..
cmake .
make
make install
ldconfig

Nach dem ersten Aufruf mit dem Befehl "pcloudcc -u username -p" treten Fehler mit Fuse auf und nach Recherche muss der Container mit hoher Priorität laufen (--privileged), dies stellt man unter den "Allgemeinen Einstellungen" mit der Checkbox "Container mit hoher Priorität laufen lassen" ein.
Zusätzlich muss für Fuse noch eine Umgebungsvariable "security-opt apparmor=unconfined" gesetzt werden, damit das Linux Security Modul nicht anschlägt.

1672743576587.png

Nachdem jetzt alle Fehlermeldungen beseitigt sind, kann mit
Code:
pcloudcc -u username -p -d -m /pcloud
gestartet werden.
-u pCloud-User
-p Eingabe Passwort
-d als Deamon starten (im Hintergrund laufen lassen)
-m Mountpoint

Jetzt kann ich unter /pcloud meine pCloud Daten sehen und unter /Dokumente meine Synology-Freigabe.

Ein erster Test mit rsync zeigt, dass es recht fix geht.
Installation mit
Code:
apt-get install rsync

Ein weiterer Test mit pv für die Geschwindigkeitsanzeige zeigt, dass die Datei(en) erst in einem Zwischencache geladen und dann im Hintergrund hochgeladen wird. Die Geschwindigkeit entspricht meinem Anschluss (50Mbit/s Upload).
1672746898888.png

Die Anleitung erwähnt hier auch diesen Punkt.
Current version of pcloudcc doesn't support command to check if threre are pending transfers. Locally cached files are located under ~/.pcloud/Cache dir. When there is only one file ~/.pcloud/Cache/cached (ususally big sized) this mean that transfers are completed.
Hier liegt dann auch nach dem kopieren die cached Datei rum.
1672747275892.png

Erkenntnis: Nur bei großen Dateien bleibt diese "cached" Datei im Ordner, kleinere Dateien werden sofort aus dem Cacheordner gelöscht.

ToDo:
- rsync mit crontab einrichten
- cached-Datei nach dem kopieren löschen
- Zugriff Cryptoordner
 

Anhänge

  • 1672746647961.png
    1672746647961.png
    284,7 KB · Aufrufe: 9
Zuletzt bearbeitet:
  • Like
Reaktionen: frite77

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
Zugriff auf das Cryptoverzeichnis, falls jemand die Cryptooption zugebucht hat, geht auch.
Bei gestarteten pCloud Daemon (siehe eins über diesem Kommentar)
Code:
root@ubuntu_pCloud:/# pcloudcc -k                                                                                     
pCloud console client v.2.0.1                                                                                         
Supported commands are:                                                                                               
startcrypto <crypto pass>, stopcrypto, finalize, q, quit                                                              
> startcrypto <Crypto Passwort>
Segmentation fault (core dumped)                                                                                      
root@ubuntu_pCloud:/#
Jetzt kann auf den Ordner "/Crypto Folder/" im pCloud Mount zugegriffen werden (In meinem Fall /pcloud/Crypto Folder/).

Cryptoordner schließen mit
Code:
root@ubuntu_pCloud:/# pcloudcc -k                                                                                     
pCloud console client v.2.0.1                                                                                         
Supported commands are:                                                                                               
startcrypto <crypto pass>, stopcrypto, finalize, q, quit                                                              
> stopcrypto                                                                                                          
Crypto Stopped.                                                                                                       
> q

Zum Thema Cache
Warum die Daten bei dem "pv" Versuch im Cache geblieben sind, ist mir nicht ersichtlich. Bei einem rsync oder einem schlichten cp werden die gleichen Daten (1 Datei mit 2,8GiB) nach dem Hochladen aus dem Cache-Verzeichnis gelöscht.

Man sieht hier auf der Synology per Kommandozeile, wie das Image größer wird und auch wieder kleiner.
Code:
### Vor dem kopieren
admin@Synology:/$ sudo docker ps -s
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS                 PORTS                    NAMES           SIZE
7ecdfa155603   ubuntu:22.04             "bash"                   4 hours ago   Up 57 minutes                                   ubuntu_pCloud   831MB (virtual 909MB)

### Nachdem der Cache gefüllt ist und die Datei hochläd (Cache-Verzeichnis gefüllt)
admin@Synology:/$ sudo docker ps -s
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS                 PORTS                    NAMES           SIZE
7ecdfa155603   ubuntu:22.04             "bash"                   5 hours ago   Up 2 hours                                      ubuntu_pCloud   3.84GB (virtual 3.91GB)

### Nachdem die Datei Hochgeladen ist und das Cache-Verzeichnis (automatisch) geleert ist
admin@Synology:/$ sudo docker ps -s
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS                 PORTS                    NAMES           SIZE
7ecdfa155603   ubuntu:22.04             "bash"                   5 hours ago   Up 2 hours                                      ubuntu_pCloud   831MB (virtual 909MB)

PS: Natürlich habe ich keinen User admin auf der Synology ;)
 
Zuletzt bearbeitet:
  • Like
Reaktionen: frite77

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
Eine Nacht ist durch, ich kann immer noch auf die Verzeichnisse zugreifen ohne mich neu einzuloggen.
Da bei Dateioperationen zwischen Synology und pCloud offensichtlich erst einmal alles gecached wird, würde das Image bei sehr vielen Daten sehr groß werden, also habe ich ein Volume für das Caching angelegt.
Dieses verweist auf die Synology, so wird das Image nicht mehr vergrößert und verkleinert (auch wenn die Dateien nicht gelöscht werden).

1672817588774.png

Nachteil an dem Caching ist, dass bei großen Backups/Kopien/rsyncs auch der Platz auf der Synology frei sein sollte, da das Kopieren in den Cache viel schneller geht als der Upload.

Arbeitet der Windows/Mac Client auch so? JA!
Hier gibt es aber ein Minimum an Speicherplatz, welcher nicht verwendet werden darf, bevor die Platte vollgelaufen ist und Windows/Mac nicht mehr reagiert.

1672824361801.png
 

Anhänge

  • 1672823892872.png
    1672823892872.png
    39,8 KB · Aufrufe: 5
  • 1672823933278.png
    1672823933278.png
    39,9 KB · Aufrufe: 5
  • 1672824213548.png
    1672824213548.png
    40,1 KB · Aufrufe: 5
Zuletzt bearbeitet:
  • Like
Reaktionen: frite77

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
Bisher funktioniert alles wie gehabt. Ich habe mal den pCloud Support angeschrieben, um herauszufinden ob es einen Unterschied zwischen den Versionen precompiled 2.1.0 (non EU, ausprobiert) und der selbst kompillierten 2.0.1 gibt. Abwarten.

Bei den Recherchen bin ich jetzt auf rclone gestoßen https://rclone.org/. Ein Kommenadozeilentool für verschiedene Clouds.
Code:
Rclone helps you:

Backup (and encrypt) files to cloud storage
Restore (and decrypt) files from cloud storage
Mirror cloud data to other cloud services or locally
Migrate data to the cloud, or between cloud storage vendors
Mount multiple, encrypted, cached or diverse cloud storage as a disk
Analyse and account for data held on cloud storage using lsf, ljson, size, ncdu
Union file systems together to present multiple local and/or cloud file systems as one

Features
Transfers
MD5, SHA1 hashes are checked at all times for file integrity
Timestamps are preserved on files
Operations can be restarted at any time
Can be to and from network, e.g. two different cloud providers
Can use multi-threaded downloads to local disk
Copy new or changed files to cloud storage
Sync (one way) to make a directory identical
Move files to cloud storage deleting the local after verification
Check hashes and for missing/extra files
Mount your cloud storage as a network disk
Serve local or remote files over HTTP/WebDav/FTP/SFTP/DLNA
Experimental Web based GUI

Es sieht sehr interessant aus :) uns das Beste ist, die pCloud wird unterstützt https://rclone.org/pcloud/

Nun muss das auch erst einmal ausprobiert werden, vor allem ob es mit der pCloud EU zusammen arbeitet...
Wobei es mir aber lieber ist, die Software direkt vom Hersteller zu nutzen.

EDIT: Hier die Antwort von pCloud
Das sind zwar unterschiedliche Versionen, aber bei 2.1.0 gibt es keine Verbindung mit den EU-Servern. Zurzeit können Sie mit diesem Konto nur die 2.0.1 Version verwenden.

Ganz ehrlich gesagt sind die GUI Apps unser Fokus. Trotzdem habe ich Ihr Intersse an den CLI Client weitergeleitet.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: frite77

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Bei den Recherchen bin ich jetzt auf rclone gestoßen
Das ist in der Tat eins ehr zu empfehlendes Tool. Egal ob das jetzt bei dir in Kombination mit pCloud zum Einsatz kommt oder nicht.

Es ist jedenfalls sehr nützlich wenn man per Script automatisiert Backups fährt. Insbesondere dann wenn man verschiedene Ziele verwendet ist die Handhabung immer die gleiche.

Bisher habe ich mich aber noch nicht darum bemüht rclone auf die Synology zu bringen.
Es ist bei mir aktuell nur auf anderen Hosts im Einsatz.
 

frite77

Benutzer
Mitglied seit
28. Nov 2020
Beiträge
39
Punkte für Reaktionen
7
Punkte
58
Hallo a-Tom

Deine Ausarbeitung ist wirklich super.
Rclone habe ich auch schon verwendet.
Das Problem hierbei ist aber das es sich um das synchronisieren von zwei Ordner handelt. Das heißt einfach zu pCloud rüberschieben geht nicht. Es wird quasi nur gespiegelt zu pCloud.
 
  • Like
Reaktionen: a-tom

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
Das Problem hierbei ist aber das es sich um das synchronisieren von zwei Ordner handelt. Das heißt einfach zu pCloud rüberschieben geht nicht. Es wird quasi nur gespiegelt zu pCloud.
Na dann bleibe ich vorerst mal bei der pCloud CLI, hier kann ich alle Linux Dateitools nutzen, vom kopieren bis zum syncen, egal in welche Richtung.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
kopieren bis zum syncen, egal in welche Richtung.
Genau das ist bei rclone auch alles möglich. Zugegebenermaßen mit einer etwas anderen/ähnlichen Syntax aber es bringt alles mit was benötigt wird.

Es ist alles gut dokumentiert. Und man kann auch kreuzweise von Cloud zu Cloud Operationen ausführen und ist somit nicht auf Dateioperationen von Lokal/Cloud beschränkt.
 
  • Like
Reaktionen: a-tom

frite77

Benutzer
Mitglied seit
28. Nov 2020
Beiträge
39
Punkte für Reaktionen
7
Punkte
58
Dann hast du die Dokumentation aber nicht gelesen.

Für Verzeichnisse verwendet man den „move“ Befehl https://rclone.org/commands/rclone_move/

und für einzelne Dateien um sie zu verschieben oder umzubenennen verwendet man den „moveto“ https://rclone.org/commands/rclone_moveto/

Ja doch das hab ich gelesen, der Aufwand das vernünftig zu Skripten schien mir aber zu hoch. Im Prinzip wollte ich ja sowas wie ein eingehängtes pCloud Laufwerk und davon ist so wie ich rclone verstehe das sehr weit weg.



Hast du einfach das Shell Script ausgeführt wie hier angegeben?
https://rclone.org/install/#script-installation
Ja genau so
 

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
@luddi Du schreibst, dass man kreuzweise von Cloud zu Cloud Operationen durchführen kann.

Das läuft dann aber alles über den Server und dessen Netzwerk, auf dem rcloud installiert ist, oder?

Schön wäre, wenn man einen Auftrag an die eine Cloud geben könnte und diese sich dann die Daten der anderen holt, sodass der Flaschenhals rcloud-Server/Netzwerk dazwischen nicht stört. Das geht ja bei einigen Clouddiensten über das Webinterface. So auch bei pCloud per Remote Upload.

Per rcloud würde ich es dann lieber auf einem externen Server mit einer guten Anbindung laufen lassen. Ich habe da zB einen bei Netcup mit 2,5 Gbit/s Netzwerk(karte).
 
Zuletzt bearbeitet:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Das läuft dann aber alles über den Server und dessen Netzwerk, auf dem rcloud installiert ist, oder?
Das ist korrekt. Denn es folgt somit ein download von der Quelle und es wird auch direkt via Upload an das Ziel übertragen. Somit ist natürlich die Verbindung des Hosts welcher rclone ausführt quasi der Flaschenhals für die Übertragung.

Hier ein Beispiel um eine Datei von Quelle (cloud_A) an das Ziel (cloud_B) zu kopieren. Bei einer 10 GB Datei dauert dies in meinem Fall in Summe ca. 45 Minuten (Elapsed time + ETA).
Code:
~ $ rclone copyto cloud_A:temp/10G.img cloud_B:temp/10G.img -P
Transferred:        2.919 GiB / 10 GiB, 29%, 3.626 MiB/s, ETA 33m19s
Transferred:            0 / 1, 0%
Elapsed time:     13m59.7s
Transferring:
 *                                       10G.img: 29% /10Gi, 3.623Mi/s, 33m21s

Kopiert oder verschiebt man Dateien auf einer Cloud direkt (z. B. cloud_A nach cloud_A), so wird der copy/move Befehl direkt auf dem Server initiiert und nimmt somit wenig Zeit in Anspruch.

Hier in diesem Beispiel mit einer 10 GB Datei gerade einmal knapp über zwei Sekunden.
Code:
~ $ rclone copyto cloud_A:temp/10G.img cloud_A:temp/10G_copy.img -P
Transferred:           10 GiB / 10 GiB, 100%, 0 B/s, ETA -
Transferred:            1 / 1, 100%
Elapsed time:         2.3s

~ $ rclone lsl cloud_A:temp/
10737418240 2022-07-10 21:24:36.489000000 10G.img
10737418240 2022-07-10 21:24:36.489000000 10G_copy.img

Das geht ja bei einigen Clouddiensten über das Webinterface.
Das ist ja in der Tat ein schönes Feature, aber für Backup Jobs die automatisiert laufen bzw. im Hintergrund angestoßen werden hilft das recht wenig.
 
  • Like
Reaktionen: a-tom

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
der Aufwand das vernünftig zu Skripten schien mir aber zu hoch.
Das sehe ich jetzt eher als eine subjektive Betrachtung deinerseits.

Im Prinzip wollte ich ja sowas wie ein eingehängtes pCloud Laufwerk und davon ist so wie ich rclone verstehe das sehr weit weg.
Man kann auch mit rclone Verzeichnisse des entfernten Server auf dem System mit einem Mount einhängen.
Auch das ist bereits dokumentiert: rclone mount

Danke für die Rückmeldung. Ich werde das bei mir auch versuchen auf der Diskstation zu installieren.
 
Zuletzt bearbeitet:

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
@a-tom Ich gehe stark davon aus, dass es bei @frite77 nativ direkt über die Shell installiert wurde. Ohne jegliche Docker Umgebung.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Also ich habe rclone nun auch auf meiner Diskstation installiert. Ganz einfach wie beschrieben über das Script Install.
Das einzige, was ich noch nicht hinbekommen habe, ist das autocomplete für bash.

Da muss ich wohl noch etwas recherchieren.
 

a-tom

Benutzer
Mitglied seit
05. Nov 2014
Beiträge
124
Punkte für Reaktionen
26
Punkte
34
Zuletzt bearbeitet:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Hast du denn die bash installiert oder nutzt du den Standard bei Synology (ash)?
Ich ging immer davon aus dass ich tatsächlich bash verwende.
Bei Synology blicke ich manchmal nicht ganz durch.

Das hier ist mir bereits bekannt. Mein Ziel war es dies aber für die bash zu generieren.

Sobald ich über die Konsole via SSH verbunden bin und mir die shell anzeigen lasse die ich ausfürhe wird mir "ash" angezeigt.
Code:
$ echo "$SHELL"
/bin/ash

$ echo $0
-ash

Es gibt aber auch eine bash:
Code:
$ which bash
/bin/bash

$ echo $BASH_VERSION
4.4.23(1)-release

$ /bin/bash --version
GNU bash, version 4.4.23(1)-release (x86_64-pc-linux-gnu)

Das sind wohl alles Shells welche auf dem System verfügbar sind:
Code:
$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/bin/ksh
/bin/zsh

Wechselt man explizit in die bash
Code:
$ bash

$ echo $0
bash

Passiert auch nichts mit dem genautocomplete.
Zumal ja das default Zielverzeichnis für das generierte autocomplete file "/etc/bash_completion.d" auch nicht existiert.
Und wenn man das Verzeichnis anlegt wird das file auch dort erstellt.

ABER: Es bleibt nach wie vor das Problem, die bash completion erneut to sourcen . /etc/bash_completion. Denn es gbit die bash completion auf dem System wohl in einer anderen Form.

Vielleicht hat ja sonst noch jemand Hinweise welche die bash completion auf der Synolgy betrifft.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat