A voir également:
- Sauvegardes et synchronisation de serveurs
- Logiciel de sauvegarde - Guide
- Synchroniser agenda google et outlook - Guide
- Serveur entrant et sortant - Guide
- Le protocole assure que la communication entre l'ordinateur d'adèle et le serveur de sa banque est car les informations seront avant d'être envoyées. - Forum Facebook
- Erreur synchronisation livebox ✓ - Forum Livebox
4 réponses
mamiemando
Messages postés
33378
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 novembre 2024
7 802
23 déc. 2009 à 01:40
23 déc. 2009 à 01:40
Il faut que tu regardes du côté de ces outils :
http://doc.ubuntu-fr.org/rsync
http://doc.ubuntu-fr.org/cron
http://doc.ubuntu-fr.org/anacron
http://doc.ubuntu-fr.org/fcron
Pour la réplication ce n'est pas trop ma spécialité, mais google doit permettre de trouver des réponses :
https://www.system-linux.eu/index.php?post/2009/09/10/R%C3%A9plication-Mysql
Bonne chance
http://doc.ubuntu-fr.org/rsync
http://doc.ubuntu-fr.org/cron
http://doc.ubuntu-fr.org/anacron
http://doc.ubuntu-fr.org/fcron
Pour la réplication ce n'est pas trop ma spécialité, mais google doit permettre de trouver des réponses :
https://www.system-linux.eu/index.php?post/2009/09/10/R%C3%A9plication-Mysql
Bonne chance
mamiemando
Messages postés
33378
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 novembre 2024
7 802
30 déc. 2009 à 16:51
30 déc. 2009 à 16:51
À ce moment là il faudrait que tu regardes anacron ou fcron qui prennent en charge les cas d'indisponibilité. Ou j'ai mal compris la question...
C'est vrai que fcron est intéressant. Mais, cron marche déjà bien pour ce que je fais.
En fait, parmi mes serveurs, j'ai un serveur central où j'ai le contenu de tous les autres serveurs. Ces autres serveurs ont des informations différentes les uns des autres. C'est la raison pour laquelle à chaque nouvelle insertion dans un serveur n1, on a une insertion de la même info dans le serveur central (et pas les autres). A l'inverse, si une information est enregistrée dans le serveur centra, la même info sera envoyée et insérée dans le serveur correspondant. Les n autres serveurs ont des informations complètement différentes.
Je ne peux donc pas faire de cron à ce niveau. J'envisageais envoyer un "ping" au serveur correspondant; si celui-ci répond (->récupérer et analyser le message), alors, on lui envoie le paquet, sinon, on relance toutes les 5 minutes. Une fois l'enregistrement effectuée, me renvoyer un message "OK".
J'ai été un peu longue, mais, je voulais donner un max d'explication... j'espère que j'y suis arrivée
En fait, parmi mes serveurs, j'ai un serveur central où j'ai le contenu de tous les autres serveurs. Ces autres serveurs ont des informations différentes les uns des autres. C'est la raison pour laquelle à chaque nouvelle insertion dans un serveur n1, on a une insertion de la même info dans le serveur central (et pas les autres). A l'inverse, si une information est enregistrée dans le serveur centra, la même info sera envoyée et insérée dans le serveur correspondant. Les n autres serveurs ont des informations complètement différentes.
Je ne peux donc pas faire de cron à ce niveau. J'envisageais envoyer un "ping" au serveur correspondant; si celui-ci répond (->récupérer et analyser le message), alors, on lui envoie le paquet, sinon, on relance toutes les 5 minutes. Une fois l'enregistrement effectuée, me renvoyer un message "OK".
J'ai été un peu longue, mais, je voulais donner un max d'explication... j'espère que j'y suis arrivée
Urielxx
Messages postés
190
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
25 juin 2013
46
30 déc. 2009 à 22:22
30 déc. 2009 à 22:22
La commande rsync permet de synchroniser deux arborescences pour qu'elles aient exactement le même contenu, c'est très certainement la commande qu'il te faut. Sinon, rdist peut eventuellement faire l'affaire aussi.
Exemple d'execution :
rsync -a /arsbosource serveur_destination:/arbo_destination/
Rsync peut utiliser ssh pour communiquer (option -e).
A noter que rsync ne fonctionne que pour synchroniser des arborescences filesystem. si tu veux synchroniser une BDD, tu dois utiliser les mécanismes spécifiques de ton SGBD (réplication MySQL, par exemple).
A+
Exemple d'execution :
rsync -a /arsbosource serveur_destination:/arbo_destination/
Rsync peut utiliser ssh pour communiquer (option -e).
A noter que rsync ne fonctionne que pour synchroniser des arborescences filesystem. si tu veux synchroniser une BDD, tu dois utiliser les mécanismes spécifiques de ton SGBD (réplication MySQL, par exemple).
A+
mamiemando
Messages postés
33378
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 novembre 2024
7 802
6 janv. 2010 à 20:00
6 janv. 2010 à 20:00
En fait, parmi mes serveurs, j'ai un serveur central où j'ai le contenu de tous les autres serveurs. Ces autres serveurs ont des informations différentes les uns des autres. C'est la raison pour laquelle à chaque nouvelle insertion dans un serveur n1, on a une insertion de la même info dans le serveur central (et pas les autres). A l'inverse, si une information est enregistrée dans le serveur centra, la même info sera envoyée et insérée dans le serveur correspondant. Les n autres serveurs ont des informations complètement différentes.
Si j'ai bien compris tu as un serveur central qui regroupe toutes les informations de tous les serveurs. Mais seul la partie dédiée à un serveur satellite doit être répliquée vers ce serveur satellite.
Ce que je ne comprends pas trop, c'est si ces différents contenus sont séparés de manière étanche dans des arborescences distinctes. Par exemple au niveau du serveur central j'aurais par exemple les répertoires :
... respectivement "rsync"és vers chacun des n serveurs satellites (et contenant respectivement uniquement les bases à répliquer vers le serveur concerné). Dans ce cas il est facile de s'en sortir avec des rsync, non ?
En fait pour être honnête avec toi, je ne suis pas sûre d'avoir compris exactement tes contraintes, ton besoin, et je ne suis pas très familière des réplications de bases de données.
Apparemment en postgresql il y aurait des outils comme pgadmin3 qui pourrait peut-être répondre à ton besoin.
http://doc.ubuntu-fr.org/postgresql
En mysql peut-être ça ?
https://www.howtoforge.com/mysql_database_replication_p2
Bonne chance
Si j'ai bien compris tu as un serveur central qui regroupe toutes les informations de tous les serveurs. Mais seul la partie dédiée à un serveur satellite doit être répliquée vers ce serveur satellite.
Ce que je ne comprends pas trop, c'est si ces différents contenus sont séparés de manière étanche dans des arborescences distinctes. Par exemple au niveau du serveur central j'aurais par exemple les répertoires :
/media/replication/serveur1 /media/replication/serveur2 ... /media/replication/serveurn
... respectivement "rsync"és vers chacun des n serveurs satellites (et contenant respectivement uniquement les bases à répliquer vers le serveur concerné). Dans ce cas il est facile de s'en sortir avec des rsync, non ?
En fait pour être honnête avec toi, je ne suis pas sûre d'avoir compris exactement tes contraintes, ton besoin, et je ne suis pas très familière des réplications de bases de données.
Apparemment en postgresql il y aurait des outils comme pgadmin3 qui pourrait peut-être répondre à ton besoin.
http://doc.ubuntu-fr.org/postgresql
En mysql peut-être ça ?
https://www.howtoforge.com/mysql_database_replication_p2
Bonne chance
Merci.
Effectivement, les contenus de chaque serveur sont séparés de façon bien étanche. Je vous donne un exemple:
bdd 1 (contient uniquement des lettres) :
bdd 2(uniquement des nombres)
bdd 3 (caractères spéciaux)
bdd satellite (toutes ces données à la fois)
Lorsque j'inserre une lettre dans la bdd 1, cette insertion se fait aussi uniquement dans la bdd satellite.
Lorsque je fais une insertion dans la bdd 3, la même requête est aussi exécutée dans la bdd satellite.
A l'inverse, lorsqu'une nouvelle insertion (de nombre par exemple) dans la bdd satellite, la requête s'en va vers la bdd 2 et est exécutée uniquement à ce niveau.
Pour ce, j'utilise la méthode soap dans mes fichier php.
Effectivement, les contenus de chaque serveur sont séparés de façon bien étanche. Je vous donne un exemple:
bdd 1 (contient uniquement des lettres) :
bdd 2(uniquement des nombres)
bdd 3 (caractères spéciaux)
bdd satellite (toutes ces données à la fois)
Lorsque j'inserre une lettre dans la bdd 1, cette insertion se fait aussi uniquement dans la bdd satellite.
Lorsque je fais une insertion dans la bdd 3, la même requête est aussi exécutée dans la bdd satellite.
A l'inverse, lorsqu'une nouvelle insertion (de nombre par exemple) dans la bdd satellite, la requête s'en va vers la bdd 2 et est exécutée uniquement à ce niveau.
Pour ce, j'utilise la méthode soap dans mes fichier php.
30 déc. 2009 à 14:22
J'utilise déjà des sauvegardes automatiques avec le tableau cron.
En fait, j'ai plusieurs serveurs (distants physiquement) qui communiquent ensemble.
Mais ici, je propose qu'on résonne sur 2 serveurs.Dès qu'il y a un nouvel enregistrement sur l'un des serveurs, cet enregistrement est aussi copié sur l'autre. Ce model de fonctionnement a été mis en place à partir des fichiers php et xml. Tout marche bien. Mais quand il y a une coupure du net ou de l'électricité pour l'un ses 2 serveurs, il ne reçoit plus les enregistrements, et l'autre continue de fonctionner. Lorsque tout rentre dans l'ordre, les 2 serveurs ne sont plus synchrones et me crée des erreurs.
Je souhaite mettre en place une procédure, ou une tâche ou un script ... qui me permette de relancer la ligne à inserrer tant qu'elle n'a pas été faite et si possible, me retourne un message 'OK'
Merki!