Réplication de la pré-production vers le serveur de production

Deux lignes de shell bash, un ligne d’iptables et une modification d’IP dans un fichier de configuration, c’est a peu près tout ce dont j’ai eu besoin pour automatiser la réplication du contenu de mon serveur de pré-production (Linux Debian à la maison, connecté par une ligne ADSL) à mon serveur de production (Linux Debian, hébergé dans le datacenter d’Easynet).

Cela m’a tout de même demandé trois heures pour en arriver là. Voilà comment faire.

  • Installer rsync sur les deux serveurs: apt-get install rsync

  • Modifier la configuration de mySQL sur le serveur de production pour qu’il écoute les connexions distantes : éditer /etc/mysql/my.cnf et remplacer bind-address = 127.0.0.1 par bind-address = 0.0.0.0

  • Mettre à jour vos rêgles iptables sur votre serveur de production (vous utilisez bien iptables, rassurez moi ? 😉 pour autoriser la connexion sur le port mysql (3306). Un exemple à modifier selon votre configuration iptables : iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

  • Executer sur le serveur de pré-production, un script bash contenant les lignes suivantes :

echo "Synchronizing file system. Please wait..."
rsync -e "ssh -l hleroy" -avz -P /var/www/www.hleroy.com/ hleroy@kylie.easynet.fr:/var/www/www.hleroy.com
echo "Synchronizing database. Please wait..."
mysqldump Mambo --user=mambo --password=mysqlpassword --opt --flush-logs --lock-tables | mysql Mambo -C --host=kylie.easynet.fr --user=mambo --password=mysqlpassword
Licensed under CC BY-NC-SA 4.0
Dernière mise à jour le sept. 03, 2022 15:11 +0200
Généré avec Hugo
Thème Stack conçu par Jimmy