Chaque conteneur de base de données certifié sur Stack Harbor PaaS livre un script de sauvegarde par défaut et une configuration cron. Cette page couvre comment ordonnancer les sauvegardes, où elles sont écrites, comment les sortir du conteneur, et comment restaurer.
L’exemple utilise MySQL — la procédure est la même pour MariaDB, Percona, PostgreSQL et MongoDB, aux identifiants spécifiques au moteur près.
Le conteneur Redis fait exception : Redis est un cache clé-valeur et ne livre pas le script de sauvegarde standard.
Ordonnancer une sauvegarde
Le script par défaut est /var/lib/jelastic/bin/backup_script.sh et la config cron est dans /var/spool/cron/{moteur} (p. ex. /var/spool/cron/mysql).
1. Ouvrir le fichier cron
Ouvrir le gestionnaire de fichiers de configuration du nœud base de données depuis le tableau de bord — cliquer Config à côté du nœud, puis naviguer vers /var/spool/cron/mysql. Le fichier livre une ligne cron d’exemple, commentée.
2. Fournir une expression cron
Le format est :
{frequency} {path-to-script} {script-parameters}
{frequency}— expression cron standard.*/10 * * * *toutes les 10 minutes ;0 2 * * *à 02:00 quotidiennement.{path-to-script}—/var/lib/jelastic/bin/backup_script.shpour le script par défaut.{script-parameters}— passés au script. Voir ci-dessous.
3. Paramètres du script
Le script de sauvegarde par défaut accepte :
-m {mode}—dumpallpour une sauvegarde complète,dumppour une partielle.-c {count}— nombre de vieilles sauvegardes à conserver en plus de la plus récente.-c 3garde 3 plus la dernière.-u {user}et-p {password}— identifiants base de données (depuis le courriel envoyé à la création).-d {databases}— optionnel.-d db1[,db2,db3]pour ne sauvegarder que ces bases.-t {tables}— optionnel.-d db -t table1[,table2]pour ne sauvegarder que ces tables dansdb.
Note sur les mots de passe : si {password} contient des caractères spéciaux, encadrez-le de guillemets doubles. À cause des règles de substitution propres à cron, échappez tout % avec un antislash, donc un mot de passe comme passw%rd devient -p "passw\\%rd".
4. Exemple
Sauvegarder toute la base toutes les 10 minutes, en gardant les 3 dernières archives :
*/10 * * * * /var/lib/jelastic/bin/backup_script.sh -m dumpall -c 3 -u root -p passw0rd
Sauvegarder le fichier cron — la nouvelle planification prend effet au prochain tick.
Où vont les sauvegardes
Le script écrit dans /var/lib/jelastic/backup à l’intérieur du conteneur, comme archives bz2. Après le premier passage planifié, vous verrez la première archive sur place.
Pour sortir les sauvegardes du nœud base de données — fortement recommandé pour tout ce qui touche à la production — monter /var/lib/jelastic/backup vers un stockage distant (un export NFS, un montage adossé S3, ou un nœud stockage dédié dans le même environnement). Les données existantes dans le point de montage sont remplacées par celles du répertoire distant, donc effectuer le montage avant que les sauvegardes ne démarrent.
Alternative : écrire un script personnalisé qui tourne sur un serveur distant et tire les dumps via le CNAME, l’IP privée ou l’IP publique de la base.
Télécharger une sauvegarde
Trois options :
- Depuis le tableau de bord. Ouvrir le gestionnaire de fichiers, naviguer vers
/var/lib/jelastic/backup, survoler l’archive, choisir Télécharger dans le menu contextuel. - SFTP / FISH. Utiliser les détails d’accès depuis le tableau de bord (section accès SFTP/FISH sur le nœud).
- FTP. Installer le module FTP pour le nœud base de données. Cela nécessite une IP publique sur le conteneur base de données — s’il n’y en a pas encore, le module en attache une automatiquement.
Restaurer une base de données
Pour la famille MySQL via phpMyAdmin :
- Ouvrir phpMyAdmin depuis le bouton Ouvrir dans le navigateur sur le nœud base de données.
- Se connecter avec les identifiants du courriel à la création.
- Naviguer vers l’onglet Import, choisir Parcourir votre ordinateur, sélectionner l’archive, cliquer Go.
- En cas de succès, vous verrez une confirmation d’import dans le panneau d’administration.
Pour PostgreSQL, restaurer via psql sur le fichier dump. Pour MongoDB, restaurer via mongorestore. Les deux sont exécutables depuis la console Web SSH intégrée du conteneur.
Au-delà du script par défaut
Pour un ordonnancement plus riche (cibles multiples, stockage distant, restauration depuis une liste d’instantanés, archives chiffrées), utilisez le module Database Backup/Restore plutôt que le script par défaut. Le module couvre les mêmes moteurs et écrit nativement les archives vers un stockage distant.
Voir aussi
- Fichiers de configuration base de données — où vivent le script de sauvegarde et la config cron.
- Hébergement base de données — aperçu opérationnel du palier base de données.
- Import / export de dump vers MySQL — utiliser un client desktop pour import et export manuels.