Utiliser Nextcloud géré comme stockage de sauvegarde sous Linux

Votre cloud, vos règles.
Hébergement 100% en Europe, conforme au RGPD et certifié ISO27001, partenaire officiel de Nextcloud
Démarrer gratuitement avec 1 Go !

Pour pouvoir restaurer des données à partir d’une copie de sauvegarde en cas de besoin, il est indispensable de réaliser des sauvegardes à intervalles réguliers. Comme destination de sauvegarde, le produit “Nextcloud géré” de hosting.fr est par exemple une option appropriée. Ce cloud est automatiquement disponible comme support de stockage chaque fois qu’une connexion Internet est établie, ce qui répond également aux exigences d’une sauvegarde hors site. Dans cet article, nous montrerons comment, à l’aide des deux programmes Restic et Rclone, vous pouvez conserver des sauvegardes cryptées dans un Nextcloud géré.

Rclone

Le programme Rclone fait le lien entre Restic et différents fournisseurs de cloud - dans notre cas un Nextcloud - et doit être configuré au préalable.

Rclone ne doit pas être installé par le gestionnaire de paquets de la distribution Linux. Pour pouvoir installer une version actuelle, vous devez télécharger un paquet actuel pour votre distribution Linux depuis la page de Rclone et l’installer.

Rclone comprend un assistant de configuration qui peut être lancé avec rclone config.

demo@box:~$ rclone config
2019/11/22 14:04:13 NOTICE: Config file "/home/demo/.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>

Veuillez taper n et ensuite Entrée pour enregistrer un nouvel accès, et donnez-lui un nom, comme par exemple “Nextcloud-Sauvegarde”:

n/s/q> n
name> Nextcloud-Sauvegarde

Dans l’étape suivante, le type de stockage doit être configuré. Veuillez choisir l’option “WebDav”, en entrant 31:

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 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Citrix Sharefile
   \ "sharefile"
 9 / Dropbox
   \ "dropbox"
10 / Encrypt/Decrypt a remote
   \ "crypt"
11 / FTP Connection
   \ "ftp"
12 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
13 / Google Drive
   \ "drive"
14 / Google Photos
   \ "google photos"
15 / Hubic
   \ "hubic"
16 / JottaCloud
   \ "jottacloud"
17 / Koofr
   \ "koofr"
18 / Local Disk
   \ "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 / SSH/SFTP Connection
   \ "sftp"
29 / Transparently chunk/split large files
   \ "chunker"
30 / Union merges the contents of several remotes
   \ "union"
31 / Webdav
   \ "webdav"
32 / Yandex Disk
   \ "yandex"
33 / http Connection
   \ "http"
34 / premiumize.me
   \ "premiumizeme"
Storage> 31

** See help for webdav backend at: https://rclone.org/webdav/ **

URL de l'hôte http auquel se connecter
Entrez une valeur de chaîne. Appuyez sur Entrée pour la valeur par défaut ("").
Choisissez un numéro ci-dessous ou tapez votre propre valeur
 1 / Connect to example.com
   \ "https://example.com"
url>

On vous demandera maintenant l’URL de votre Nextcloud. Veuillez entrer https://cloud.mustermann-domain.fr/remote.php/webdav/, en remplaçant cloud.mustermann-domain.de par votre nom de domaine. Ensuite, on vous demandera le “Vendor”. Veuillez choisir 1 pour Nextcloud:

url> https://cloud.mustermann-domain.fr/remote.php/webdav/
Nom du site/service/logiciel Webdav que vous utilisez
Entrez une valeur de chaîne. Appuyez sur Entrée pour la valeur par défaut ("").
Choisissez un numéro ci-dessous ou tapez votre propre valeur
 1 / Nextcloud
   \ "nextcloud"
 2 / Owncloud
   \ "owncloud"
 3 / Sharepoint
   \ "sharepoint"
 4 / Autre site/service ou logiciel
   \ "other"
vendor> 1

À l’étape suivante, vous devez entrer les identifiants de connexion pour le cloud, c’est-à-dire le nom d’utilisateur et le mot de passe, dans Rclone.

Nom d'utilisateur
Entrez une valeur de chaîne. Appuyez sur Entrée pour la valeur par défaut ("").
user> max
Mot de passe.
y) Oui, tapez-moi mon propre mot de passe
g) Générer un mot de passe aléatoire
n) Non, laissez ce mot de passe facultatif vide
y/g/n> y         
Entrez le mot de passe :
password:
Confirmez le mot de passe :
password:

Un “Bearer token” n’est pas nécessaire.

Bearer token instead of user/pass (eg a Macaroon)
Entrez une valeur de chaîne. Appuyez sur Entrée pour la valeur par défaut ("").
bearer_token> 

Veuillez passer la configuration avancée en entrant n:

Edit advanced config? (y/n)
y) Oui
n) Non
y/n> n

Enfin, un récapitulatif de la configuration est affiché.

Remote config
--------------------
[Nextcloud-Sauvegarde]
type = webdav
url = https://cloud.mustermann-domain.fr/
vendor = nextcloud
user = max
pass = *** ENCRYPTED ***
--------------------
y) Oui, c'est OK
e) Éditer ce remote
d) Supprimer ce remote
y/e/d>

Confirmez la configuration en entrant y et quittez l’assistant en entrant q.

y/e/d> y
Remotes courants :

Nom                 Type
====                 ====
Nextcloud-Sauvegarde     webdav

e) Éditer le remote existant
n) Nouveau remote
d) Supprimer le remote
r) Renommer le remote
c) Copier le remote
s) Définir le mot de passe de configuration
q) Quitter la configuration
e/n/d/r/c/s/q> q
demo@box:~$ 

Restic

Le programme de sauvegarde Restic fonctionne de manière beaucoup plus efficace que des solutions de sauvegarde obsolètes telles que “dirvish”, “rdiff-backup” ou “duplicity”. Les avantages notables de Restic sont:

  • Il offre la possibilité de chiffrer des sauvegardes avant le transfert avec un algorithme AES-256.
  • Les données à sauvegarder sont fragmentées en morceaux à chaque sauvegarde à l’aide d’un algorithme de hachage Rolling. Les morceaux issus de différentes révisions de sauvegarde n’ont donc besoin d’être stockés qu’une seule fois.
  • Il n’y a pas de distinction entre sauvegardes incrémentielles et sauvegardes complètes. Les sauvegardes peuvent donc être supprimées indépendamment les unes des autres.
  • Des sauvegardes de plusieurs ordinateurs peuvent être stockées dans un même dépôt et la dédupllication fonctionne sur tous les ordinateurs.

L’installation peut se faire sur la plupart des distributions Linux via le gestionnaire de paquets. Alternativement, un binaire officiel peut également être téléchargé et utilisé.

Créer un dépôt

Dans un premier temps, le dépôt doit être créé avec Restic. Un mot de passe pour le chiffrement des sauvegardes est également défini:

restic -r rclone:Nextcloud-Sauvegarde:MaSauvegarde init

L’affichage après cela ressemble alors par exemple à ceci:

→ restic -r rclone:Nextcloud-Sauvegarde:MaSauvegarde init 
entrez le mot de passe pour le nouveau dépôt: 
entrez le mot de passe à nouveau: 
dépôt restic créé 9415403f30 à rclone:Nextcloud-Sauvegarde:MaSauvegarde

Veuillez noter que la connaissance de votre mot de passe est nécessaire pour accéder au dépôt. La perte de votre mot de passe signifie que vos données sont irrécupérablement perdues.

La sauvegarde est dans cet exemple stockée dans le répertoire MaSauvegarde dans le cloud.

Créer une sauvegarde

Une sauvegarde du répertoire /home/max/ peut être créée avec la commande

restic -r rclone:Nextcloud-Sauvegarde:MaSauvegarde backup /home/max/

L’affichage peut par exemple ressembler à ceci:

→ restic -r rclone:Nextcloud-Sauvegarde:MaSauvegarde backup /home/max/
entrez le mot de passe pour le dépôt: 
dépôt 9415403f ouvert avec succès, le mot de passe est correct

Fichiers:          37 nouveaux,     0 modifiés,     0 non modifiés
Dossiers:            2 nouveaux,     0 modifiés,     0 non modifiés
Ajouté au dépôt: 20.797 MiB

Traitement de 37 fichiers, 21.336 MiB en 0:19
instantané df8ec851 enregistré

Des options pratiques lors de la sauvegarde sont:

  • --exclude-file - avec cette option, un fichier texte peut être spécifié, à partir duquel des fichiers et des répertoires sont lus, qui doivent être exclus de la sauvegarde.

  • --cache-dir - avec cette option, un répertoire peut être spécifié, qui est utilisé localement par Restic comme cache.

  • --exclude-caches - avec cette option, les répertoires contenant un fichier CACHEDIR.TAG conformément à la “Spécification de Tagging des Répertoires de Cache” sont exclus de la sauvegarde.

Afficher les sauvegardes existantes

Les sauvegardes existantes, ou en jargon Restic “instantanés”, peuvent être affichées avec la commande

restic -r rclone:Nextcloud-Sauvegarde:MaSauvegarde snapshots

affichées.

Restaurer une sauvegarde

À l’aide de l’ID de l’instantané, une sauvegarde peut être restaurée. Cela se réalise avec la commande

restic -r rclone:Nextcloud-Sauvegarde:MaSauvegarde restore 79766175 --target /tmp/restore-work

/tmp/restore-work est le répertoire où les fichiers restaurés seront placés.

Restic offre aussi la possibilité de monter une sauvegarde. Pour plus de détails, veuillez consulter la documentation de Restic.

Restic propose également plusieurs autres options, telles que des fonctions pour supprimer des anciennes sauvegardes. Pour cela, nous recommandons de consulter la documentation de Restic.

Sur les serveurs, les sauvegardes peuvent également être automatisées à l’aide de cron et de scripts bash.

Références

N'hésitez pas à vous inscrire à notre newsletter



Nous vous remercions de votre inscription à la newsletter hosting.fr.
nextcloud sauvegarde rclone restic