Nextcloud en tant que WebDAV pour de gros fichiers
La plupart des systèmes d’exploitation et du serveur Nextcloud limitent la taille des fichiers pouvant être transférés par WebDAV. La limite de taille pour les fichiers pouvant être transférés par WebDAV est de 512 Mo maximum. La seule possibilité pour transférer des fichiers plus volumineux par WebDAV est de les diviser automatiquement en morceaux et de les stocker sur le serveur. Alternativement, le client de bureau Nextcloud peut être utilisé. Dans ce cas, les fichiers sont cependant synchronisés et doivent également rester stockés sur l’ordinateur local.
Le logiciel rclone offre la possibilité de monter un stockage cloud en tant que lecteur réseau. Pour cela, des “remotes” sont créés, chacun représentant une connexion à un stockage cloud. Pour stocker des fichiers en plusieurs parties sur le serveur web, un autre “remote” peut être créé, en plus du “remote” qui monte le cloud via WebDAV, pour enregistrer les fichiers divisés dans le “remote” WebDAV déjà créé.
Conditions préalables :
- Vous avez installé rclone version 1.5 ou ultérieure sur un système Linux. Sinon, vous pouvez télécharger un package approprié sur le site de rclone.
Configurer le “Remote” dans rclone
La configuration de rclone a déjà été décrite dans l’article “Utiliser Nextcloud géré comme stockage de sauvegarde sous Linux”. Nous partons du principe qu’un “remote” Nextcloud normal nommé “Nextcloud” a déjà été créé, conformément à cet article.
Entrez la commande rclone config pour démarrer la configuration de rclone.
→ rclone config
Remotes actuels :
Nom Type
==== ====
Nextcloud webdav
e) Modifier un remote existant
n) Nouveau remote
d) Supprimer un remote
r) Renommer un remote
c) Copier un remote
s) Définir le mot de passe de configuration
q) Quitter la configuration
e/n/d/r/c/s/q>
Choisissez n pour créer un nouveau “remote” et entrez un nom pour le “remote”, par exemple “Nextcloud-Chunked”.
e/n/d/r/c/s/q> n
nom> Nextcloud-Chunked
Type de stockage à configurer.
Entrez une valeur chaîne. Appuyez sur Entrée pour le par défaut ("").
Choisissez un numéro ci-dessous ou tapez votre propre valeur
1 / 1Fichier
\ "fichier"
2 / Alias pour un remote existant
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Fournisseur de stockage conforme à Amazon S3 (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Box
\ "box"
7 / Mettre en cache un remote
\ "cache"
8 / Citrix Sharefile
\ "sharefile"
9 / Dropbox
\ "dropbox"
10 / Chiffrer/Déchiffrer un remote
\ "crypt"
11 / Connexion FTP
\ "ftp"
12 / Google Cloud Storage (ce n'est pas Google Drive)
\ "google cloud storage"
13 / Google Drive
\ "drive"
14 / Google Photos
\ "google photos"
15 / Hubic
\ "hubic"
16 / JottaCloud
\ "jottacloud"
17 / Koofr
\ "koofr"
18 / Disque local
\ "local"
19 / Mail.ru Cloud
\ "mailru"
20 / Mega
\ "mega"
21 / Microsoft Azure Blob Storage
\ "azureblob"
22 / Microsoft OneDrive
\ "onedrive"
23 / OpenDrive
\ "opendrive"
24 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
25 / Pcloud
\ "pcloud"
26 / Put.io
\ "putio"
27 / QingCloud Object Storage
\ "qingstor"
28 / Connexion SSH/SFTP
\ "sftp"
29 / Diviser/segmenter des fichiers volumineux de manière transparente
\ "chunker"
30 / Union fusionne les contenus de plusieurs remotes
\ "union"
31 / Webdav
\ "webdav"
32 / Yandex Disk
\ "yandex"
33 / Connexion http
\ "http"
34 / premiumize.me
\ "premiumizeme"
Stockage>
Choisissez comme type chunker.
Stockage> chunker
** Voir l'aide pour le backend chunker à : https://rclone.org/chunker/ **
"Remote" pour chunker/unchunker.
Normalement doit contenir un ':' et un chemin, par exemple "myremote:path/to/dir",
"myremote:bucket" ou peut-être "myremote:" (non recommandé).
Entrez une valeur chaîne. Appuyez sur Entrée pour le par défaut ("").
remote>
Entrez ici le “remote” où les morceaux du nouveau remote doivent être stockés. Dans notre cas, c’est notre “remote” Nextcloud:. Le deux-points à la fin est important pour que le “remote” soit reconnu comme tel. Sinon, un répertoire local sera utilisé.
remote> Nextcloud:
Les fichiers plus grands que la taille de chunk seront divisés en morceaux.
Entrez une taille avec suffixe k,M,G,T. Appuyez sur Entrée pour le par défaut ("2G").
chunk_size>
La taille maximale des morceaux est de 512 Mo. Veuillez donc choisir à cette étape 512M pour ne pas créer trop de morceaux.
chunk_size> 512M
Choisissez comment le chunker gère les sommes de contrôle. Tous les modes sauf "aucun" nécessitent des métadonnées.
Entrez une valeur chaîne. Appuyez sur Entrée pour le par défaut ("md5").
Choisissez un numéro ci-dessous ou tapez votre propre valeur
1 / Passer n'importe quelle somme de contrôle prise en charge par le remote enveloppé pour les fichiers non chunkés, ne rien retourner sinon
\ "none"
2 / MD5 pour les fichiers composites
\ "md5"
3 / SHA1 pour les fichiers composites
\ "sha1"
4 / MD5 pour tous les fichiers
\ "md5all"
5 / SHA1 pour tous les fichiers
\ "sha1all"
6 / Copier un fichier vers le chunker demandera MD5 depuis la source en revenant à SHA1 si non pris en charge
\ "md5quick"
7 / Semblable à "md5quick" mais préfère SHA1 sur MD5
\ "sha1quick"
hash_type>
Pour l’algorithme de hachage, il est recommandé d’utiliser l’algorithme SHA1, qui est légèrement plus sûr que MD5.
hash_type> sha1
Modifier la configuration avancée ? (y/n)
y) Oui
n) Non
y/n>
Il n’est pas nécessaire de modifier la configuration avancée.
y/n> n
Configuration à distance
--------------------
[Nextcloud-Chunked]
type = chunker
remote = Nextcloud:
chunk_size = 512M
hash_type = sha1
--------------------
y) Oui, c'est bon
e) Modifier ce remote
d) Supprimer ce remote
y/e/d>
Confirmez avec y.
y/e/d> y
Remotes actuels :
Nom Type
==== ====
Nextcloud webdav
Nextcloud-Chunked chunker
e) Modifier un remote existant
n) Nouveau remote
d) Supprimer un remote
r) Renommer un remote
c) Copier un remote
s) Définir le mot de passe de configuration
q) Quitter la configuration
e/n/d/r/c/s/q>
Choisissez q pour quitter le dialogue.
e/n/d/r/c/s/q> q
Monter le “Remote”
Une fois le “remote” configuré, il doit être monté dans le système de fichiers pour être utilisé. Créez le répertoire où le “remote” doit être monté, par exemple :
mkdir -p ~/mnt/nextcloud-chunked
et montez ensuite le “remote” :
rclone mount Nextcloud-Chunked:/ ~/mnt/nextcloud-chunked
Tant que rclone mount est en cours d’exécution, le “remote” est monté. Une fois la commande interrompue avec le raccourci Ctrl + C, le “remote” sera démonté.
Test
Vous pouvez maintenant tester en copiant un gros fichier dans le remote pour vérifier s’il est correctement enregistré. Par exemple, nous avons testivement stocké un fichier ISO de 3,6 Go nommé debian-10.2.0-amd64-DVD-1.iso dans le remote. Dans l’interface web du cloud, les fichiers chunkés apparaissent :

Sous le nom original du fichier debian-10.2.0-amd64-DVD-1.iso, vous ne trouverez dans le cloud qu’un fichier factice contenant des méta-informations. Dans le remote monté localement, seul le fichier copié y apparaît.