Aller au contenu

Synchroniser Des Bases Mysql Web Avec Le Syno


Nounou43

Messages recommandés

Merci Patrick ! C'est vrai que ça va beaucoup mieux comme ça ;-)

Petite précision : les exécutables se lancent depuis /usr/syno/mysql/bin/ (il n'y a pas de répertoire mysql après bin). De plus pour lancer les commandes il faut les passer en mode auto-exécution shell (NAS> ./commande).

Bien ! Après pas mal de recherche, je suis finalement arrivé à ce que je souhaitais et je vous propose ci-dessous la description de la solution. A noter que j'ai finalement tout placé à la suite de mon premier script qui mettait à jour mes répertoires FTP (précédent post ici). J'obtiens donc un script qui réalise d'abord un miroir FTP de mon site Web sur le NAS, puis procède à un mirroring des bases SQL.

Les prérequis :

- Avoir installé IPKG et LFTP (voir post précédent)

- Avoir démarré le service MySQL sur le Syno

- Optionnellement (mais plus pratique) avoir installé phpMyAdmin

Mon organisation logistique :

- J'ai un accès FTP chez mon hébergeur (plutôt courant)

- Mon hébergeur me permet également de générer de manière périodique (tous le 1,2,3, ... 30 jours) un DUMP de mes bases SQL que je peux récupérer sur mon espace FTP. C'est une fonction moins courante chez les hébergeurs mais qui peut facilement être automatisée par un script PHP + un CRON sur le serveur.

- Sur mon Syno j'ai crée un Dossiers Partagé [www] pour héberger mon mirroir FTP et un Dossier Partagé [scripts] pour héberger mon script et le chargement de mes DUMPs

- IMPORTANT : par phpMyAdmin j'ai créé les DATABASES nécessaires pour héberger mes bases du serveur Web. Autrement dit, si vous avez une database "BASE1" sur votre serveur vous devez créer une database "BASE1" sur votre Syno (inutile d'y ajouter les tables, le chargement du DUMP le fera plus tard).

Le principe :

- Je créé un script hébergé sur mon Syno (/volume1/scripts/mirror_web) qui est lancé tous les 2j par un CRON (voir post précédent). Ce script commence par un mirroring des répertoires (FTP) puis télécharge les DUMPs réalisés par mon hébergeur pour les charger dans le serveur MySQL du Syno.

Deux petites difficultés :

1 - Mon hébergeur fourni les DUMP en format compressé sous BZIP2 !! Il m'a fallu un moment pour m'en sortir ! De base Syno n'embarque pas la compression / décompression BZIP2 ! Il a donc fallu que j'installe BZIP par ipkg install unzip. Après celà plus de soucis !

2 - Mon hébergeur fourni les DUMP avec un nommage nom_base.date_dump.sql.bz2 !! Ceci implique qu'à chaque DUMP le nom de fichier change ce qui n'est pas neutre quand on veut automatiser le mirroring par un script. Ceci m'oblige à utiliser des artifices "joker" dans mes téléchargements et des renommages de fichier (voir le script ci-dessous).

A priori le forum ne me laisse pas passer le script dans ce message. J'essaie de le mettre dans le message suivant ...

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.