Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Créer un SCRIPT de SAUVEGARDE (Ubuntu)

Dernière réponse : dans Le monde de Linux
Partagez
3 Avril 2008 10:50:42

Bonjour a tous !
Dans le cadre d'un PTI en informatique, je voudrais créer un script sous ubuntu qui effectuerait mes sauvegardes situées sur des serveurs : - 1 Sous WINDOWS 2003
- 1 Sous Ubuntu Server

je doit sauvegarder un dossier (sur Windows 2003), 1 dossier (sur Ubuntu Server), et une base de donnée MySQL situées sur mon serveur Windows 2003.

Je précise que mon "Serveur de sauvegarde" est une machine ne servant seulement qu'a ces sauvegarde (et qui est sous Ubuntu..)

Merci d'avance pour vos réponses !


Mc.Fly :bounce:  :bounce:  :bounce: 

Autres pages sur : creer script sauvegarde ubuntu

a b 5 Linux
3 Avril 2008 11:06:31

Qu'est-ce qu'un PTI en informatique ?
Faut-il t'appeler T_HeBi ou Mc.Fly ?
Et pis arrête de sauter comme ça !

______________________


Quel langage de script comptes-tu utiliser ?
Comment accèdes-tu aux données sur tes différents serveurs ?
3 Avril 2008 11:14:39

Un PTI est un "projet" en quelque sorte est n'est pas forcement lié qu'a l'informatique ...

Aller tu peux m'appeller Mc.Fly ;) 

désoler de sauter ainsi mais j'ai tres tres tres tres envi de faire ce projet ^^


---------------------------------------------------------------------------------------------------------------------


Donc comme je l'ai précisé je veux créer mon script sous Ubuntu, donc un .batch si tu préfères...

Je me doute qu'il va falloir utiliser la commande : MySQLDump pour la sauvegarde de bases de données

après mon "HIK''" vient du fait que ces fichiers sont situés sur des machines différentes (utilisation des lecteurs réseau..), et surtout que ces 3 machines ne sont pas sur le même Os ( Microsoft vs Unix ^^)
Contenus similaires
Pas de réponse à votre question ? Demandez !
a b 5 Linux
3 Avril 2008 14:55:50

Quel langage de script comptes-tu utiliser ?

La réponse ne peut pas être Ubuntu. Ubuntu, c'est le nom de ta distribution. C'est comme si je te demandais "Où veux-tu aller ?" et que tu me répondais "Ben, j'ai une Twingo, eh, gros malin" :/ 

Choix plausibles :
[ ] sh/bash/ksh
[ ] rsh
[ ] csh
[ ] perl
[ ] Autre. Précisez: __________________


MySQL sur Windows quand on a un serveur Linux :pfff: 
J'espère que le choix n'est pas de toi :o 


Pour exécuter des scripts à distance sous Windows, je t'invite à poser la question dans le monde de Windows. Regarde quand même du côté des PsTools de Mark Russinovitch.

Je repose la question un peu différemment.
Comment accèdes-tu aux fichiers sur tes différents serveurs ?
Choix plausibles :
[ ] ftp
[ ] http
[ ] Autre. Précisez: __________________
a b 5 Linux
3 Avril 2008 14:57:29

Je repense à ta proposition de MySQLDump.
Bonne idée.

Mais un tar | gzip de tout un répertoire peut être une solution générique.
a b 5 Linux
3 Avril 2008 15:00:27

Il y a aussi la soluce CygWIN ;) 
Comme ça, les lacunes de Windows sont comblées par du UNIX-like :) 
4 Avril 2008 08:14:15

je debute sous linux si tu preferes ! je te rassure ce n'est pas moi qui choisi les sujets !
Donc je doit faire un script (SANS LANGUAGE SPECIAL IMPOSE) donc le choix me revient ! cependant etant donné que je debute sous linux je ne sais absolumen pas comment procéder ...


a b 5 Linux
4 Avril 2008 10:54:29

Bon. tu as le droit de débuter, mais il faudrait quand même nous aider à t'aider. TPI, je ne sais toujours pas ce que c'est. En fait, je me fous pas mal de connaître ce sigle, mais peut-être me renseignera-t-il sur ta situation. Est-ce un projet scolaire, professionnel, personnel ??? La vraie question est : quelle liberté as-tu sur les différentes machines ? - Installer CygWIN par exemple n'est pas anodin. Sur une machine perso, pas de problème, sur un serveur, l'admin risque de faire la gueule.

A priori, le langwage bourne ( = sh. bash et korn sont compatibles. Sous Ubuntu, de mémoire, /bin/sh est un lien vers /bin/bash ) est un grand classique. C'est sans doute ce qu'on attend de toi.

Un serveur est un ordinateur qui propose des services. Par exemple, ta machine Windows propose le service "Base de données". C'est donc bien un serveur.

Mais il faudrait aussi que ces machines proposent les services : "Sauvegarde d'un dossier" et "Sauvegarde d'une base de données".

Ce n'est pas à ton script sur la machine "Serveur de sauvegarde". D'ailleurs, le nom de cette machine est très mal choisi. Car il s'agit en fait d'un client de sauvegarde si j'ai bien compris.

Donc, il faut que tu répondes à la question, posée 3 fois maintenant :
Comment accèdes-tu aux fichiers à sauvegarder sur tes différents serveurs ?
4 Avril 2008 14:11:44

je t'ai dis que j'avais le choix! avant de faire la maline apprendre a lire SVP !!!!!!! laisse tombe je vais voir quelqu'un qui sais un minimum lire ... ++
a b 5 Linux
4 Avril 2008 14:35:15

Mais ne t'énerve pas McFly !!!!!!!!!!!!!

Tu as donc le choix dans le langage, côté "Serveur de sauvegarde".
Et je te propose le bourne shell (bash). Que veux-tu de plus ?

Mais il faut aussi que tu puisses accéder à tes fichiers sur les autres machines. Et ce n'est pas le choix du langage côté "Serveur de sauvegarde" qui va t'aider à récupérer tes données. Ce n'est pas le "Serveur de sauvegarde" qui prend les données, ce sont les serveurs Windows 2003 et Ubuntu Server qui donnent leur données pour les sauvegarder.

Tant que tu ne comprendras pas ça, tu ne pourras pas avancer. Surtout si tu t'énerves et que tu insultes ceux qui prennent la peine de t'aider.
4 Avril 2008 15:12:08

rsync et une connexion ssh pour l'accés au donné ca devrait être bienc a non ?
a b 5 Linux
4 Avril 2008 15:22:22

+2

Mais on en revient au premier problème, l'installation possible ou pas de CygWIN sur la machine Windows.
4 Avril 2008 15:46:34

non mais sur windows tu install un serveur ssh. Et ton rsync se trouve sur la machine linux de sauvegarde :o 
a b 5 Linux
4 Avril 2008 15:59:01

>>sur windows tu install un serveur ssh
CygWIN needed for OpenSSH ! (Peut être pensais-tu à un autre serveur ?)
(Pas tous les paquets, je te l'accorde)

N'empêche, il faut installer un service supplémentaire sur le serveur Windows.
Y installer un serveur SSH répondrait à la question Comment accèdes-tu à la machine contenant les fichiers à sauvegarder ?
5 Avril 2008 15:41:21

J'ai le choix !!!!!!!
C'est un projet : cela veut dire que c'est fictif !!!!

Donc je peux faire absolument ce que je veu du momen que sa marche !!!
5 Avril 2008 19:50:45

bah alors utilise ssh + rsync.
a b 5 Linux
7 Avril 2008 10:49:15

>>>c'est fictif !!!!

Désolé T_Hebi, je viens de comprendre. Mais tu utilises des mots et des abréviations qui te semblent sans équivoques, alors qu'ils peuvent l'être. Des projets, j'en ai à la pelle au boulot, et pourtant, ce n'est pas du tout fictif.

Quand je t'ai demandé ce qu'était un PTI, tu aurais pu m'expliquer que c'était scolaire, professionnel, personnel, etc... Par ailleurs, pour moi, un serveur est une machine sur laquelle on n'a pas la main, par principe. Bon, sauf si on est soit même l'admin. Ce que tu es, donc. Ça change tout dans la résolution de ton problème.
a b 5 Linux
7 Avril 2008 14:20:10

Hypothèses

On dispose d'un parc hétérogène de serveurs.
On veut sauvegarder certaines données.


Proposition 1

On peut laisser les serveurs sauver régulièrement leurs données et les mettre à disposition.
Sur chaque serveur, dans le gestionnaire des tâches (Windows) ou dans la crontable (Linux),
un script est lancé qui sauvegarde les données à heure fixe, par exemple le soir à 20h00.

Chaque script est adapté au système : un batch sous Windows, un bash sous Ubuntu.
  1. #!/bin/sh
  2.  
  3. YESTERDAY=`date --date '1 day ago' +%Y%m%d`
  4. TODAY=`date +%Y%m%d`
  5. SAVE_DIR=/var/saved_data
  6. FILES_TO_SAVE=/home/t_hebi/data_to_save
  7.  
  8. # Sauvegarde complète
  9. tar -cf $WHERE/all_data_$TODAY $FILES_TO_SAVE
  10.  
  11. # Sauvegarde des fichiers du jour
  12. tar --newer $YESTERDAY -cf $WHERE/data_of_the_day_$TODAY $FILES_TO_SAVE


Faire un équivalent pour Windows.

Sur chacun de ces serveurs, le répertoire de sauvegarde est accessible en lecture via un service FTP.

Sur la machine de sauvegarde, il suffit alors de faire le tour des fichiers à sauvegarder :
  1. #!/bin/sh
  2.  
  3. COMPUTERS="SrvW1 SrvUbun2"
  4. TODAY=`date +%Y%m%d`
  5.  
  6. for $COMPUTER in $COMPUTERS; do
  7. cd /var/saved_data/$COMPUTER
  8.  
  9. echo "Récupération des donnés sur le serveur $COMPUTER"
  10. ftp -n ftp://SrvW1 <<EOF
  11. user ADMIN_SAUVEGARDE
  12. pass lemotdepassdeladmin
  13. get /saved_data/all_data_$TODAY
  14. get /saved_data/data_of_the_day_$TODAY
  15. EOF
  16.  
  17. done


Cela nécessite donc 1 service FTP par serveur, c'est tout.
(Du côté client FTP, un ptit ncftpget ne peut pas faire de mal ;)  On aime : L'option -f )

Evidemment, on peut remplacer FTP par HTTP si on a un serveur web sur la machine. La récupération se fait alors par un wget.
Autre idée : Se servir du partage de fichiers sur le serveur Windows, de Samba sur le serveur Ubuntu et d'un bête client Samba sur la machine de sauvegarde.
Cela nécessite donc Samba sur le serveur Ubuntu.

Donc en résumé, sur les serveurs à sauvegarder : cron / g. de tâches + script + serveur de fichiers (ftp, http, smb)


Proposition 2

La même chose, mais le serveur de sauvegarde est passif : on installe un serveur ftp (ou autre) sur cette machine et ce sont les autre machines qui font un put vers le serveur de sauvegarde. (ncftpput)

Résumé, côté serveurs à sauvegarder : cron / g. de tâches + script.


Proposition 3

Tant qu'à faire d'installer Samba, autant l'utiliser : Donc on partage en lecture les dossiers et répertoires où les données à sauvegarder et c'est le serveur de données qui fait le boulot. Les scripts de sauvegarde sont donc les mêmes, mais on les exécute à partir du serveur de sauvegarde. Il faut être sûr que les fichiers ne sont pas en cours de modifications.

Résumé : Installation de Samba sur le serveur Ubuntu.


Proposition 4

Utiliser rsh ou ssh pour exécuter les commandes à distance. rsync est alors un excellent choix. Mais ce choix impose l'installation de CygWIN sur les machines Windows. On dénature un peu le problème, car on se réduit au cas : Parc homogène de machines sous UNIX-like.

Résumé : Installation de CygWIN et de OpenSSH sur le serveur Windows.
9 Avril 2008 10:41:09

Et bien voila !!!
Voila c'est exactement ce qu'il me fallait ...
Désolé pour ce petit désagrément et merci énormément !

Ce problème est donc résolu grâce a zeb ;) 
a b 5 Linux
9 Avril 2008 11:16:49

:jap: 
Quelle proposition vas-tu prendre le plus en considération ?

Bon, maintenant, tu peux nous dire ce qu'est un PTI ???
2 Octobre 2008 11:59:02

Zeb, j'apprécie vraiment les gens comme vous qui font avancer la communauté par vos explications claires et pertinentes; ceci dit T_HeBi est une personne qui devrait travailler un minimum par lui-même mais clairement il desire qu'on lui fasse son travail sans effort. C'est bien de remercier T_HeBi, mais la politesse veut que vous repondiez aux questions qu'une personne vous pose surtout quand cette dernière vous montre son intérêt pour votre dessein et vous mache le boulot.
a b 5 Linux
3 Octobre 2008 12:07:47

:sol: 

Yoant, je suis assez d'accord avec toi.
D'habitude, celui qui ne se donne pas la peine de correctement s'expliquer se retrouve sans la moindre explication de ma part. Ce jour-là, je n'avais pas compris du premier coup ce que me disait T_HeBi, du coup, je me suis un peu investi pour bien comprendre don problème. C'est pour ça qu'il a eut une réponse très complète. En plus, je ne sevais rien avoir à faire à ce moment :D 

Bon en plus la solution est assez générique pour pouvoir servir à d'autres, alors tant qu'à faire....

Quant à T_HeBi, j'ai eu un "merci énormément", c'est déjà bien.
Il n'est sans doute pas revenu pour répondre à la dernière question, ce n'est pas grave, il répondra au prochain problème ;)