Copier/Coller d'un serveur vers un autre

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 28 Sep 2010 08:22

Bonjour à tou(te)s,

J'ai 2 SME7.5.1 (disons A et B)

L'une ET l'autre ont été en production à 2/3 jours d'intervalle, j'ai remplacé A par B grâce à affa (rise), mais je dois maintenant remettre A en prod puis supprimer B

Y'a vraiment pas eu grand chose comme modifs/ajouts de fichiers (et RIEN de modifié en config ni users)

Je pensais donc simplement faire un copier/coller incrémental du
/home/e-smith/files afin de ne copier QUE
- les fichiers modifiés ET
- les Nouveaux fichiers
- Il est serveur de mail, donc copier également les emails.

Disons
A en 10.0.128.15
B en 10.0.128.200

Quelle serait la bonne commande svp ?

Merci d'avance.

Igor
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar jibe » 28 Sep 2010 23:09

Salut,

Tu n'es pas très bavard sur la manière dont ce "copier-coller" pourrait se faire : via clé USB, samba, nfs, transfert physique de disque, autre ?

Pas bavard non plus sur ton souhait de ne copier que les fichiers nouveaux ou modifiés : est-ce un réel besoin (gros volume, connexion lente, autre ?) ou simplement un désir de ne pas copier ce qui est inutile ?

Pas bavard enfin sur la manière dont tu accèdes aux serveurs : par la console, en local par ssh, par winscp ou smbfs, à distance par VPN ou autre moyen ?

En effet, selon ces critères que nous n'avons pas, la réponse va inévitablement varier beaucoup ! Selon le cas, il est peut-être finalement avantageux de tout copier, ou au contraire, il faut absolument se limiter à l'essentiel. Donc, selon le cas, utilisation de cp ou de rsync... Mais il faut d'abord établir une connexion entre les deux serveurs, connexion qui ne sera probablement pas la même selon qu'ils sont côte à côte ou distants de quelques milliers de km (voire seulement de quelques dizaines de mètres) :wink:

Personnellement, je transfère souvent des données d'une SME à une autre, et j'emploie rarement la même méthode : je choisis celle qui me parait le plus simple à mettre en oeuvre tout en respectant les exigences selon chaque cas précis. Cela va du démontage du disque source et installation sur le serveur cible à des montages temporaires sous smbfs sur un poste client en passant bien sûr par des rsync directs entre les deux serveurs.

Bon, cela dit, certains s'arrangent pour procéder toujours de la même manière et te donneront peut-être les commandes qu'ils utilisent... Perso, j'ai du mal à choisir lorsque je n'ai pas tous les éléments :lol:
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Re: Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 29 Sep 2010 00:13

Désolé pour ce manque de précision évident, je m'en rend compte après coup, et donc la perte de temps occasionnée !!!!

En fait les 2 serveurs sont dans le même LAN , même Local physique
Les accès ssh sont fonctionnels dans les 2 sens (et même depuis chez moi je peux accéder au serveur de prod en ssh)

Le but est d'avoir une sorte de 'synchro' finale de A et B avant de remettre A en prod sans avoir à le remonter en 'affa' car il y a très très peu de différence entre les 2 puisque B n'a tourné que 3/4 jours lorsqu'il a remplacé A.

Merci d'avance.
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar jibe » 29 Sep 2010 14:35

Salut,

Dans ce cas, tu peux utiliser rsync qui se connectera via ssh sur le serveur distant et ne copiera que les fichiers nouveaux et modifiés. Ce sera depuis le serveur B une commande du genre (ATTENTION : à adapter à ton cas précis, voir entre autres les options et répertoires désirés. man rsync pour plus d'infos) :
Code: Tout sélectionner
rsync -a --del -p --progress /home/e-smith/ root@serveur.A:22/home/e-smith/


Je ne prends pas que le dossier files/ pour récupérer les mails aussi, ce que tu pourrais également faire par un jeu d'include/exclude. A voir si tu n'as pas besoin également de synchroniser /root et /etc. J'ai précisé le port, mais s'il n'a pas été changé ce n'est pas obligatoire.

Tu peux lancer dans un premier temps rsync en ajoutant l'option -n : cela t'indiquera ce qu'il va copier, sans réellement l'effectuer. Une bonne idée pour t'assurer d'avoir bien passé tous les bons paramètres :wink:
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Re: Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 29 Sep 2010 22:48

Merci pour ton aide....

Une chose m'interpelle en regardant le man rsync et la commande que tu proposes :

1°) Dans ta commande je ne vois pas d'option qui dirait que c'est de l'incrémental que je veux : QUE les NOUVEAUX fichiers ET les fichiers modifiés !!!?
2°) L'option -del ça veut dire que ça va supprimer les fichiers sur le source après avoir effectué la copie ???

Merci d'avance pour tes précisions.

Igor
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar jibe » 30 Sep 2010 00:37

Le fonctionnement incrémental est le fonctionnement normal de rsync. C'est bien là son intérêt !

man rsync a écrit:--delete-during, --del
Avec cette option, la suppression des fichiers du côté récepteur est effectuée incrémentalement au cours du transfert. Ceci est une méthode plus rapide que celles avant ou après le transfert, mais elle n'est supportée que depuis la version 2.6.4 de rsync. Référez-vous à --delete (qui est sélectionnée implicitement) pour plus d'information.


N'oublie pas l'option -n qui te permet de voir ce qui se passerait sans le faire réellement. Il t'est donc facile et absolument sans danger de faire quelques expériences si ce qu'est censé faire telle ou telle option ne te parait pas clair :wink:
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Re: Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 02 Oct 2010 01:42

Bonjour,

Pourquoi ne pas utiliser le

-u, --update saute les fichiers plus récents chez le destinataire


Est-il inutile dans ce cas ? (par rapport à TA commande préconisée évidemment)

Igor
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar jibe » 02 Oct 2010 23:34

Salut,

Je t'avais bien dit que la commande proposée était à adapter à ton cas précis : c'était plus un exemple que LA commande à copier coller !

Bon, je pense que tu l'as compris, puisque tu étudies les options de rsync. Mais toi seul connais vraiment celles qu'il faut utiliser ! Pour -u, je ne sais pas : en principe, non, si le cas est bien exactement comme tu le décris. Ce qui me met un doute, c'est justement que tu te poses la question... Y a-t-il une possibilité que des fichiers soient plus récents sur A que sur B ? Telles que tu décris les choses, non. Mais bien sûr, s'il y a eu quoi que ce soit de fait sur A après le rise de B, c'est possible (sans pour autant être certain)... Après, tout dépend quelle version tu veux garder. Avec -u, tu garderas la version plus récente de A, sans -u tu copieras sur A la version moins récente de B.
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Re: Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 03 Oct 2010 02:37

Merci encore pour ta patience et ces précisions, en fait le -u est implicite du fait que rsync est nativement 'incrémental'.

Et comme tu l'as bien compris, en effet, le -u est inutile dans ma configuration puisque RIEN n'a été touché sur le A)

Merci encore, je vais me lancer avec le -n pour voir.
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 03 Oct 2010 03:05

Ca veut pas !!!!!

Avec le -n j'ai bien la liste des fichiers qui défile :

Et en fin de simulation j'ai :
sent 3036029 bytes received 285577 bytes 29009.66 bytes/sec
total size is 76903429079 speedup is 23152.48 (DRY RUN)
[root@serveur-linux /]#


quand j'enlève le -n voici l'erreur !!!

[root@serveur-linux /]# rsync -a --del -p --progress /home/e-smith/ root@10.0.128.200:22/home/e-smith/
sending incremental file list
rsync: writefd_unbuffered failed to write 4092 bytes to socket [sender]: Broken pipe (32)
rsync: mkdir "/root/22/home/e-smith" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(577) [Receiver=3.0.7]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]
[root@serveur-linux /]#


J'ai testé avec une copie B vers B , j'ai créé essai puis :
rsync -a --del -p --progress /home/e-smith/ /essai/


Et là ça marche......... je ne vois pas pourquoi ça ne fonctionne pas donc du PC 10.0.128.15 vers 10.0.128.200
D'autant que ce ne sont pas des histoires de 'droits' puisque j'ai accès à .200 via ssh!

Help svp.

Merci.
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar jdh » 03 Oct 2010 08:15

rsync -a --del -p --progress /home/e-smith/ root@10.0.128.200:22/home/e-smith/
rsync: mkdir "/root/22/home/e-smith" failed: No such file or directory (2)


La ligne est à ADAPTER. Cela veut dire lire le man, et ajuster chacun des paramètres !

Le message retourné est, pourtant, parfaitement explicite d'une erreur (avec 22) !
(D'ailleurs le port du rsync distant se spécifie avec --port !)
L'intelligence artificielle n'est rien à côté de la stupidité naturelle.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Re: Copier/Coller d'un serveur vers un autre

Messagepar igor98 » 03 Oct 2010 11:31

Ben c'est pas faute d'avoir tout passé en revue..........
J'ai bien compris qu'il fallait 'adapter', merci, mais bon, la commande me semble suffisante ainsi....

[root@serveur-linux ~]# rsync -a --del -p --verbose --progress /home/e-smith/ root@10.0.128.200/home/e-smith/
sending incremental file list
rsync: writefd_unbuffered failed to write 4092 bytes to socket [sender]: Broken pipe (32)
rsync: mkdir "/root/root@10.0.128.200/home/e-smith" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(577) [Receiver=3.0.7]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]


J'ai plus d'erreur de port, puisque je le laisse en 'standard' sans tenter de le modifier (d'ailleurs, je vois pas pourquoi je le modifierai).

Désolé, mais vraiment je m'en sors pas et je deviens chèvre là! (je sais, je sais, j'en étais pas loin !!!!)
Moyen d'affiner ma commande svp ?

Merci encore.

Igor
igor98
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 168
Inscrit le: 02 Avr 2007 09:46

Re: Copier/Coller d'un serveur vers un autre

Messagepar jdh » 03 Oct 2010 12:11

Quand je dis lire et relire le "man rsync" ...

Ressayes encore ...
L'intelligence artificielle n'est rien à côté de la stupidité naturelle.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Re: Copier/Coller d'un serveur vers un autre

Messagepar sibsib » 03 Oct 2010 22:28

Hello,

Je ne connais pas rsync, mais à mon avis, il y a là un os :
igor98 a écrit:
Code: Tout sélectionner
[root@serveur-linux ~]# rsync -a --del -p --verbose --progress /home/e-smith/ root@10.0.128.200/home/e-smith/



Je mettrais plutôt ceci :
Code: Tout sélectionner
[root@serveur-linux ~]# rsync -a --del -p --verbose --progress /home/e-smith/ root@10.0.128.200:/home/e-smith/


La syntaxe de quasi outes les commandes distantes est :
user @ machine : dossier
Chez toi, sans le ":" il devait chercher un dossier type root@10.0.128.200/home/e-smith/ localement.

Le conseil de jdh reste excellent, et sinon, google réagit bien avec des questions genre 'rsync examples' :-)

A+,
Pascal
Sibsib, admin heureux d'un petit SME !!!
- SME 8.0 beta 6 dans une VM :-)
- ESXI 4.1 sur hardware noname
Ma petite page sur SME
Avatar de l’utilisateur
sibsib
Amiral
Amiral
 
Messages: 2368
Inscrit le: 11 Mai 2002 00:00
Localisation: France - région parisienne

Re: Copier/Coller d'un serveur vers un autre

Messagepar jibe » 04 Oct 2010 22:49

Salut,

Sorry, j'ai mer** :oops:

J'avais pourtant fait l'essai, je ne comprends pas ce que j'ai fait en copiant/collant la commande... Bon, c'est vrai que j'ai essayé avec des répertoires différents et une bécane ayant un port ssh différent : j'ai dû adapter. Sauf que là ce n'était plus de l'adaptation, mais vraiment n'importe quoi !

Bon, en fait, je viens de refaire l'essai et l'erreur (et donc la solution) est bien celle donnée par sibsib. Merci Pascal Image

Pour ce qui est du port... Je n'ai jamais su faire marcher l'option donnée par jdh :oops: moi je mets -e "ssh -p 222". Mais bon : effectivement, si on a gardé le port 22, inutile de le préciser.
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Suivant

Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron