################################ Import/Export de base de données ################################ Il est possible d'importer et exporter directement le contenu de la base de données de la *gateway* depuis/vers un fichier. Cela est utile lorsque plusieurs instances de *gateway* ont des éléments en communs (partenaires, règles...) afin d'éviter de devoir renseigner ces éléments plusieurs fois. Cela permet également faire une sauvegarde du contenu de la base. Les fichiers d'import/export sont en format JSON. Leur documentation complète est disponible :any:`ici `. Export ====== Pour exporter la configuration d'une *gateway* existante, la commande est ``waarp-gatewayd export``. Cette commande va récupérer les éléments demandés depuis la base de données de la *gateway*, puis va les écrire dans un fichier. Les options suivantes sont requises pour que la commande puisse s'exécuter : - ``-c``: le fichier de configuration de la *gateway* (contient les informations de connexion à la base de données). - ``-f``: le nom du fichier vers lequel les données seront exportées (par défaut le fichier sera nommé ``waarp-gateway-export.json``). - ``-t``: les éléments à exporter, l'option peut être répétée pour exporter plusieurs éléments. Les valeurs acceptées sont ``rules``, ``servers``, ``partners`` ou ``all``. Par exemple, la commande suivante exporte les serveurs et les partenaires de la *gateway* vers le fichier ``gateway_backup.json`` : .. code-block:: shell waarp-gatewayd export -c 'waarp-gateway.ini' -f 'gateway_backup.json' -t 'servers' -t 'partners' Import ====== Pour importer un fichier de sauvegarde, la commande est ``waarp-gatewayd import``. Cette commande va récupérer les éléments demandés dans le fichier donné, puis va les insérer dans la base de données de la Gateway. La commande requiert les options suivantes : - ``-c``: le fichier de configuration de la *gateway* (contient les informations de connexion à la base de données). - ``-s``: le fichier source de l'import. - ``-t``: les éléments à importer. L'option peut être répétée pour importer plusieurs éléments, les valeurs acceptées sont ``rules``, ``servers``, ``partners`` ou ``all``. - ``-r``: les tables de la base de données seront vidées avant d'importer les nouveaux éléments depuis le fichier (seules les tables concernées par l'import seront vidées). Pour les scripts, l'option ``force-reset-before-import`` est disponible afin d'outrepasser le message de confirmation. Par exemple, la commande suivante purge les serveurs et les partenaires de la base, puis importe les nouveaux serveurs et les partenaires depuis le fichier ``gateway_backup.json`` et les insère dans la base de données : .. code-block:: shell waarp-gatewayd import -r -c 'waarp-gateway.ini' -s 'gateway_backup.json' -t 'servers' -t 'partners' La commande ``import`` inclue également une option ``-d`` ou ``--dry-run`` permettant de simuler l'import du fichier, mais sans appliquer les changements. Cela peut être utile pour tester si le fichier source est dans un format correct sans risquer d'insérer des éléments invalides dans la base de données.