Jump to content
XPEnology Community
  • 0

Réaliser un backup de la configuration du NAS


Question

Posted (edited)

Bonjour à tous,

 

J'ai cherché un peu partout mais n'ai trouvé que des solutions de backup de données. Je souhaite mettre en place un backup de la configuration (et uniquement de la configuration : paquets (DSM & Docker), configuration des paquets (DSM & Docker), configuration du DSM, du pare-feu, ...) réalisée en automatique ainsi que, bien sûr, la marche à suivre pour remettre en place le backup.

 

Merci d'avance

 

Cordialement,

Edited by Alandil

23 answers to this question

Recommended Posts

  • 0
Posted

Salut,

Le paquets Hyper Backup permet la sauvegarde de la configuration des différents paquets

  • 0
Posted

Salut,

Pourtant Hyper Backup le propose a la création d'une tache de sauvegarde :

LDt4f4E.png

 

 

  • 0
Posted

Ah oui c'est vrai mais en l'occurrence, il me manque des paquets dans cette liste et il me manque aussi la possibilité de sauvegarder en direct la configuration du DSM.

  • 0
Posted
à l’instant, Alandil a dit :

il me manque aussi la possibilité de sauvegarder en direct la configuration du DSM.

Pour ce point, je ne crois pas que cela soit possible en automatique 🤔

 

 

 

  • 0
Posted

Ah ça c'est vraiment dommage ! 

La configuration du DSM, les paquets et leur propre configuration sont l'essentiel du NAS. C'est regrettable que cela ne puisse se faire.

Ta réponse est définitive sur le sujet ou tu aurais une piste éventuelle ?

  • 0
Posted
il y a 20 minutes, EVOTk a dit :

#!/bin/sh # ARCHIVEDIR=/volume1/prod/backups/synology_dsm ARCHIVE=${ARCHIVEDIR}/diskstation_backup.dss rm $ARCHIVE /usr/syno/bin/synoconfbkp export --filepath=$ARCHIVE

Je viens de tester la tâche en modifiant le répertoire de destination et elle n'a pas fonctionné.

  • 0
Posted
il y a 18 minutes, Alandil a dit :

Et pour l'ensemble des paquets et leur configuration ? Tu vois une alternative ?

Non du tout, d’ailleurs j’évite au maximum l'utilisation des paquets syno.

 

il y a 3 minutes, Alandil a dit :

Je viens de tester la tâche en modifiant le répertoire de destination et elle n'a pas fonctionné.

 

Le script a 1 an, il n'est peut etre plus valable. Je n'ai pas acces a mon NAS pour le moment, j'essayerai quand cela sera possible a moins que d'ici la, quelqu'un apporte une idée/solution

  • 0
Posted

Je viens de tester le script, en fait directement la ligne de commande, toutes les lignes au-dessus ne servent à qu'à construire le chemin vers l'archive et à l'effacer éventuellement et ça marche sans problème :

root@Maison:~# ls /volume2/archives/*.dss
ls: cannot access /volume2/archives/*.dss: No such file or directory
root@Maison:~# /usr/syno/bin/synoconfbkp export --filepath="/volume2/archives/test.dss"
Export confbkp file to : /volume2/archives/test.dss 
root@Maison:~# ls /volume2/archives/*.dss
/volume2/archives/test.dss
root@Maison:~# 

Le fichier .dss est bien une archive tar compressée contenant le fichier config_info indiquant la version de la sauvegarde et celle du DSM et la base de données avec les informations sauvegardées.

root@Maison:~# tar tvJf /volume2/archives/test.dss
drwx------ root/root         0 1970-01-01 00:00 ConfigBkp/
-rw-r--r-- root/root     45056 1970-01-01 00:00 ConfigBkp/_Syno_ConfBkp.db
-rw-r--r-- root/root       131 1970-01-01 00:00 ConfigBkp/config_info

Pour aller plus loin et la sauvegarde de la configuration des paquets, les infos ne sont pas vraiment claires...

Analyser les sources d'un paquet (en OpenSource) peut être instructif pour trouver l'arborescence utilisée réellement (peut-être aussi les recommandations de développement chez Synology pour la communauté).

Le paquet MediaServer par exemple à un répertoire conf dans /var/packages/MediaServer et aussi un répertoire etc (qui est lien) vers /usr/syno/etc/packages/MediaServer mais on trouve aussi un répertoire etc bien plus rempli dans le lien target de ce même dossier /var/packages/MediaServer (qui pointe lui vers le volume acceuillant le paquet (/volume1/@appstore/MediaServer), donc des fichiers un peu partout... Le premier lien etc est peut-être les modèles de configuration à utiliser pour le paquet ?? pas été voir.

root@Maison:~# cd /var/packages/MediaServer/
root@Maison:/var/packages/MediaServer# ls -l
total 108
drwxr-xr-x 2 root root   4096 Mar 26 21:26 conf
-rw-r--r-- 1 root root      0 Mar 19 15:59 enabled
lrwxrwxrwx 1 root root     34 Mar 19 15:59 etc -> /usr/syno/etc/packages/MediaServer
-rw-r--r-- 1 root root 100284 Mar 19 15:59 INFO
drwxr-xr-x 2 root root   4096 Feb 19 04:46 scripts
lrwxrwxrwx 1 root root     30 Mar 19 15:59 target -> /volume1/@appstore/MediaServer
root@Maison:/var/packages/MediaServer# ls -l etc/
total 44
-rw-r--r-- 1 MediaServer MediaServer 9477 Mar 30 23:41 client_list.json
-rw-r--r-- 1 MediaServer MediaServer  104 Dec 12  2017 codecs.conf
-rw-r--r-- 1 MediaServer MediaServer  603 Feb 19  2020 dmsinfo.conf
-rw-r--r-- 1 MediaServer MediaServer    3 Feb 17  2020 exposed_collection.json
-rw-r--r-- 1 MediaServer MediaServer 2860 Dec 12  2017 menu_custom1.xml
-rw-r--r-- 1 MediaServer MediaServer 5576 Dec 12  2017 menu_custom2.xml
-rw-r--r-- 1 MediaServer MediaServer 7117 Dec 12  2017 menu_custom3.xml
root@Maison:/var/packages/MediaServer# ls -l target/
total 0
drwxr-xr-x 1 MediaServer MediaServer 132 Feb 19 04:46 app
drwxr-xr-x 1 MediaServer MediaServer 290 Mar 19 16:00 apparmor
drwxr-xr-x 1 MediaServer MediaServer  88 Feb 19 04:46 bin
drwxr-xr-x 1 MediaServer MediaServer 842 Mar 19 16:00 etc
drwxr-xr-x 1 MediaServer MediaServer  42 Feb 19 04:46 indexdb
drwxr-xr-x 1 MediaServer MediaServer 444 Feb 19 04:46 lib
drwxr-xr-x 1 MediaServer MediaServer  46 Feb 19 04:46 log
drwxr-xr-x 1 MediaServer MediaServer  50 Feb 19 04:46 sbin
drwxr-xr-x 1 MediaServer MediaServer 532 Feb 19 04:46 scripts
drwxr-xr-x 1 MediaServer MediaServer 868 Feb 19 04:46 synovte
drwxr-xr-x 1 MediaServer MediaServer  84 Feb 19 04:46 user_data_collector
drwxr-xr-x 1 MediaServer MediaServer 170 Mar 26 21:26 webapi
drwxr-xr-x 1 MediaServer MediaServer  20 Feb 19 04:46 www_root
root@Maison:/var/packages/MediaServer# ls -l conf/
total 12
-rw-r--r-- 1 root root  973 Feb 19 04:46 privilege
-rw------- 1 root root 1100 Mar 19 15:59 resource
-rw------- 1 root root  802 Mar 26 21:26 resource.own
root@Maison:/var/packages/MediaServer# ls -l target/etc/
total 212
-rw-r--r-- 1 MediaServer MediaServer 10566 Feb 19 04:46 agent.conf
-rw-r--r-- 1 MediaServer MediaServer  2607 Feb 19 04:46 allservices.xml
-rw-r--r-- 1 MediaServer MediaServer  4124 Feb 19 04:46 cdsSCPD.xml
-rw-r--r-- 1 MediaServer MediaServer  5958 Feb 19 04:46 cdsxSCPD.xml
-rw-r--r-- 1 MediaServer MediaServer   104 Feb 19 04:46 codecs.conf
-rw-r--r-- 1 MediaServer MediaServer  4099 Feb 19 04:46 connmgrSCPD.xml
-rw-r--r-- 1 MediaServer MediaServer  7665 Feb 19 04:46 defcover.jpg
-rw-r--r-- 1 MediaServer MediaServer  2505 Feb 19 04:46 device_win.xml
-rw-r--r-- 1 MediaServer MediaServer  2513 Feb 19 04:46 device_xbox.xml
-rw-r--r-- 1 MediaServer MediaServer  2096 Feb 19 04:46 device.xml
-rw-r--r-- 1 MediaServer MediaServer  7119 Feb 19 04:46 dmsicon120.jpg
-rw-r--r-- 1 MediaServer MediaServer 15794 Feb 19 04:46 dmsicon120.png
-rw-r--r-- 1 MediaServer MediaServer  2394 Feb 19 04:46 dmsicon48.jpg
-rw-r--r-- 1 MediaServer MediaServer  3694 Feb 19 04:46 dmsicon48.png
drwxr-xr-x 1 MediaServer MediaServer     8 Feb 19 04:46 index
-rw-r--r-- 1 root        root         2692 Mar 26 21:26 initall.xml
-rw-r--r-- 1 MediaServer MediaServer  8742 Feb 19 04:46 lighttpd.conf
-rw-r--r-- 1 MediaServer MediaServer  8789 Feb 19 04:46 lighttpd.debug
-rw-r--r-- 1 MediaServer MediaServer   425 Feb 19 04:46 log_whitelist
-rw-r--r-- 1 MediaServer MediaServer  7188 Feb 19 04:46 menu_advance.xml
-rw-r--r-- 1 MediaServer MediaServer  2860 Feb 19 04:46 menu_custom1.xml
-rw-r--r-- 1 MediaServer MediaServer  5576 Feb 19 04:46 menu_custom2.xml
-rw-r--r-- 1 MediaServer MediaServer  7117 Feb 19 04:46 menu_custom3.xml
-rw-r--r-- 1 MediaServer MediaServer  5639 Feb 19 04:46 menu_ipod.xml
-rw-r--r-- 1 MediaServer MediaServer  2663 Feb 19 04:46 menu_local.xml
-rw-r--r-- 1 MediaServer MediaServer  4337 Feb 19 04:46 menu_simple.xml
-rw-r--r-- 1 MediaServer MediaServer  6628 Feb 19 04:46 menu_vs_template.xml
-rw-r--r-- 1 MediaServer MediaServer  2599 Feb 19 04:46 msrrSCPD.xml
drwxr-xr-x 1 MediaServer MediaServer  1158 Feb 19 04:46 radio
-rw-r--r-- 1 MediaServer MediaServer   425 Feb 19 04:46 registrar.xml
-rw-r--r-- 1 MediaServer MediaServer   394 Feb 19 04:46 synodms_port
-rw-r--r-- 1 MediaServer MediaServer  2096 Feb 19 04:46 uctt.xml
-rw-r--r-- 1 MediaServer MediaServer  9181 Feb 19 04:46 vcover.jpg
root@Maison:/var/packages/MediaServer# 

 

Pas très transparent... mais si on connait la structure du syno, ça doit pouvoir s'expliquer.

Jacques

  • 0
Posted (edited)

En principe, dans la structure d'un paquet, on recrée un environnement spécifique pour maintenir le paquet (et ses programmes) dans ce dernier.

Donc le répertoire etc dans /volume1/@appstore/MediaServer doit être celui de la configuration en place.

 

Les liens suivants peuvent servir à comprendre je pense :

https://help.synology.com/developer-guide/index.html

https://www.synology.com/fr-fr/support/developer

Edited by JacquesF
  • 0
Posted

 

à programmer dans le plannificateur de tâches :

 

synoconfbkp export --filepath=/volume1/tmp/bk_syno_conf_$(date +%y-%m-%d).dss

 

Avec ce paramétrage tu marques la date sur le nom de la sauvegarde sur chacune de tes sauvegardes.

 

le filepath est à adapter avec ton syno.

 

J'utilise ce genre de script pour sauvegarder les bdd de mes CMS

et tu peux compléter le script avec :

find /volume1/tmp/ -type f -mtime +30 -delete

 

cela permet de ne conserver que les 30 dernières sauvegardes- à adapter en fonction des tes besoins.

 

Bon usage

Fred

  • 0
Posted

Bonjour @fbittoun

 

J'ai testé une tâche avec ce script :

synoconfbkp export --filepath=/volume1/homes/Fabien/Drive/Backup/NAS/Config DSM/bk_syno_conf_$(date +%y-%m-%d).dss
find /volume1/homes/Fabien/Drive/Backup/NAS/Config DSM/ -type f -mtime +10 -delete

Mais cela ne génère rien.

  • 0
Posted

La 1ère ligne génère un export de la configuration (il faut l'exécuter sous le compte root (donc un sudo -i admin en principe, ou un login via SSH et une clef d'identification) qui se nommera bk_syno_conf_2020-04-14.dss (si on lance le job le 14 avril de cette année).

La seconde efface les fichiers qui ont été générés il y a plus de 10 jours.

Donc la première n'est peut-être pas lancée avec les bons droits (elle fonctionne, testée chez moi comme indiqué plus haut) et la seconde n'a probablement rien à effacer.

Jacques

  • 0
Posted

Bonjour @JacquesF

Merci de ton retour. Un espace s'était glissé dans le code ;)

J'ai regardé aussi ce que tu as posté. J'avoue que cela me paraît complexe... Je vais faire sans pour le moment. Je verrais ce que cela donne dans le temps.

Cordialement,

  • 0
Posted

MErci JacquesF pour ces précisions.

 

Dans le menu configuration il faut aller dans le planificateur de tâche, créer une nouvelle tâche, tâche planifiée, script défini par l'utilisateur

 

Dans l'écran général tu peux choisir le compte à utiliser pour exécuter la tâche (root, admin, xxx, ...)

Pour notre cas j'ai conservé le compte root ce qui fonctionne très bien.

 

 

 

 

Capture.thumb.JPG.b91becf48987361be298ac2b248771f1.JPG

 

  • 0
Posted

Une autre idée et demande de ma part :

Si je veux réaliser un backup en automatique de mes conteneurs Docker via le planificateur de tâche, comment je devrais m'y prendre ?

 

Tâche manuelle :

image.png.4af8c2c37fb2d38ad9b664099b447e2d.png

  • 0
Posted

Perso je n'utilise pas docker

 

trouvé sur nas-forum :

docker cp conteneur1:/dossiersource1 /dossierdestination1

docker cp conteneur2:/dossiersource2 /dossierdestination2

 

Bon usage

Fred

  • 0
Posted
il y a une heure, Alandil a dit :

@fbittoun

 

Ce sont des commandes que je peux exploiter avec le planificateur de tâche ? En fait, il s'appuie sur du langage linux ?

Oui c'est bien du Linux

 

Le planificateur de tâche est une interface qui s'appuie sur la commande cron de Linux (et qui simplifie grandement le paramétrage de la planification des tâches)

Dans le script développé par l'utilisateur il s'agit de Bash (acronyme de Bourne-Again shell) qui est un interpréteur en ligne de commande de type script. C'est le shell Unix du projet GNU. Fondé sur le Bourne shell

 

Certains paquets comme Hyperbackup inscrivent les opérations de backup dans le planificateur de tâche.

 

Perso j'utilise le planificateur de tâche pour sauvegarder mes bases de données (mysldump ........) : mariaDB utilise le même langage de commande que mySQL

 

Bon usage.

  • Thanks 1
  • 0
Posted

Hello,

 

La sauvegarde de la configuration de DSM est bien géré par hyper backup, on le voit seulement lors de la restauration et même choisir quels paramètres restaurer.

Je vous confirme ça ce soir avec des screens

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...