Outils personnels

Duplication manuelle d'un serveur BlueOnyx : Différence entre versions

De wikiGite

Ligne 4 : Ligne 4 :
  
 
= synchronisation de la base CODB BlueOnyx =
 
= synchronisation de la base CODB BlueOnyx =
 +
Actions à réaliser SUR LE SERVEUR DE DESTINATION
 
  rsync -avHz --delete root@host1:/usr/sausalito/ /usr/sausalito
 
  rsync -avHz --delete root@host1:/usr/sausalito/ /usr/sausalito
  

Version du 4 janvier 2012 à 11:33

Note 1 : cmuImport ne SAIT PAS recréer les vhosts et les utilisateurs avec les mêmes IDs. Donc si les chemins vers les sites (DocumentRoot) sont codés en dur dans les pages PHP, on peut être amené à réaliser une duplication manuelle pour conserver les IDs des vhosts et des utilisateurs.

NOTE 2 pour Rsync : lancé en root avec "-a" il garde les permissions et les propriétaires, mais pas s'il est lancé avec un autre utilisateur !

synchronisation de la base CODB BlueOnyx

Actions à réaliser SUR LE SERVEUR DE DESTINATION

rsync -avHz --delete root@host1:/usr/sausalito/ /usr/sausalito

Synchronisation du reste de la configuration

rsync -avHz --delete root@host1:/etc/httpd/ /etc/httpd
rsync -avHz --delete root@host1:/etc/mail/ /etc/mail
rsync -avHz root@host1:/etc/passwd /etc
rsync -avHz root@host1:/etc/group /etc
rsync -avHz root@host1:/etc/shadow /etc
rsync -avHz root@host1:/etc/my.cnf /etc
rsync -avHz root@host1:/etc/php.ini /etc
rsync -avHz root@host1:/etc/php.d/ /etc/php.d
# Recréer la base BlueOnyx pour que les quotas se mettent à jour ensuite en chargeant /home
/etc/init.d/cced.init restart # recrée la config., entre autres /etc/hosts, 
/etc/init.d/admserv restart

Synchronisation des données

Ici, on exclue mysql car les bases ne seraient pas cohérentes si elles ont ouvertes pendant la copie (à la source ou à la destination). On préférera donc les recréés par export/import.
Le répertoire "backup" est un exemple de ce qu'on peut également vouloir exclure au moment du transfert.

rsync -avHz --delete --exclude=/mysql --exclude=/backup root@host1:/home/ /home

Synchronisation MySQL

Faire un dump des bases à la source

mysqldump --all-databases -p > all_db.sql

Transférer le fichier sql, et le recharger à la destination

mysql -p < all_db.sql

Modification de la configuration, si nécessaire

Changer IP du serveur dans la base BlueOnyx (qui a été écrasée lors de la copie de codb) :

echo SET $(echo FIND Network | /usr/sausalito/bin/cceclient | grep OBJECT | awk '{print $3}') ipaddr = \"10.0.0.54\" | /usr/sausalito/bin/cceclient

Attention : perte de connexion probable à ce moment si on est en SSH !

Puis changer les IP des vhosts :

for site in $(clistvsite | awk '{ print $1 }'); do cmodvsite --ipaddr=10.0.0.54 --fqdn=$site; done
cd /etc/httpd/conf.d/subdomains
for i in *; do sed -i 's/10.0.0.12/10.0.0.54/g' $i; done

Redémarrage des services

/etc/init.d/admserv restart
/etc/init.d/httpd restart
/etc/init.d/mysqld restart
/etc/init.d/sendmail restart
/etc/init.d/dovecot restart