Script de sauvegarde

salut a tous
je dispose d'un réseau local sous windows 2000 pro server avec des clients 2000 et 98
je souhaite que certains client bossent sur leur fichier en local (word et excel) et que tous les soirs tous les fichiers créés ou modifié dans la journée soient transférés vers le serveur
quelqu'un aurait-il le script, donc, qui met a jour sur le serveur les fichiers modifiés dans la journée sur le client et crée sur le serveur les fichiers crée dans la journée sur le client .
ce script serai ensuite mis dans les taches planifiées de chaque machine
je ne suis pas sur d'avoir été clair mais je pense avoir été compris
merci pour vos réponses
a+

10 réponses

  1. Modérateur
    ligne.rstrip()
    1. Merci seb t génial =)
    2. Salut !

      J'ai un peu le meme problème, je voudrauis savoir comment enlever le dernier caractère d'une ligne ?

      bye
  2. Modérateur
    Ca m'intéresse ce script en python, j'ai besoin de quel module pour faire connexion et copie ?

    Pour la copie, c'est dans la librairie standard de Python (open, read(), write(), close), ou bien os.system("XCOPY...") si tu préfère.

    Pour ouvrir des partages NetBIOS/SMB, tu as 2 solutions:
    - soit taper dans le module win32wnet de Python (pfiou)
    - soit utiliser un simple os.system("net use ..."), qui sera à mon avis beaucoup plus simple pour se connecter à chaque PC.

    Comme tu veux voir, soit tu utilises l'OS pour faire le boulot (os.system()), soit tu le fais toi-même.
    1. Re:

      J'ai utilisé readlines pour récupérer les lignes dans un tableau mais le problème c'est qu'il me garde les retours à la ligne.
      Lorsque je parcours ma liste, j'aimerai avoir des éléments sans fin de ligne, comment je fais ?

      Merci d'avance
  3. Modérateur
    C'est le serveur qui doit avoir l'initiative de faire des backups, pas chacun des postes.
    1. Contributeur
      Ok merci pour les precisions !
      Sinon, est-ce que tu pourrais elaborer concretement a quoi devrai ressembler un tel fichier script... parce que mes connaissances en ligne de commande sont plus que rudimentaire :o)
    2. Modérateur
      @fg03établir une liste des machines.
      Pour chaque machine de la liste:
      - se connecter au disque (NET USE M: \\nommachine\C$ motdepasse /USER:administrator)
      - sur le disque des backups, créer un répertoire avec le nom de la machine
      - faire un simpleXCOPY des fichiers (par exemple M:\Mes documents) vers ce répertoire.
      - NET USE M: /DELETE

      ça devrait pouvoir se faire en script shell (batch je veux dire), mais je pense que ça serait mieux de le faire dans un langage un peu plus évolué (typiquement, je ferais ce genre de chose en Python).
    3. @sebsauvageRe Salut Seb,

      Ca m'intéresse ce script en python, j'ai besoin de quel module pour faire connexion et copie ?

      merci d'avance
  4. Modérateur
    Non non... pas un script sur chaque poste.

    Un (et un seul) script sur le serveur !

    Comme le script fait machine par machine, il n'y a pas de problème de démarrage simultanés.
    1. Contributeur
      Ca m'interresse la proposition 2 :
      Ji je resume :
      Sur le serveur de sauvegarde je cree un REP \USERS par exemple
      Dedans je cree un REP different pour chaque station client
      Sur le PC client je cree un dossier de sauvegarde
      et puis je fais un script !

      C'est la que ca se complique : il faut un script qui dise au serveur de
      se connecter au station ou inversement mais c'est vrai que les sauvegarde doivent pas toutes se faire en meme temps sinon bonjours la bande passante...
      T'as une idee de l'elaboration du script ? A part les NET USE j'y connais rien ;o)
      Je pense qu'il faudrait mettre une tempo plus ou moins aleatoire, par exemple Apres le demarrage du script d'ouverture de session +ou- temps de minutes apres, copy c:\truc muche /avec options sous arborescence sur le serveur \USERS\ID-station\

      Ca donnerait quoi en langage commande en ligne ?

      P.S : Pour les serveurs sous 2000, y a pas l'option de synchronisation qui rendrait ca beaucoup plus efficace ???
      Moi je suis sous NT4.. donc j'ai pas trop le choix
      1. Modérateur
        côté serveur:
        1) avoir la liste des machines
        2) avoir un script qui fait, pour chaque machine:
        - connection à nomdelamachine\C$ (NET USE...)
        - copie des fichiers à sauvegarde de ce partage vers le disque des backups (typiquement avec un répertoire par machine)
        - déconnexion du partage.
        - et on passe à la machine suivante.

        ça devrait être assez simple à réaliser à partir du moment où les disques de toutes les machines sont partagés.
        1. merci les mecs ca fait plaisir d'avoir une reponse aussi rapide
          je vais essayé les 2 méthodes
          pour ta méthode sebsauvage coté serveur comment doit je planifier mes taches ?
          tache planifiée avec script ou autrement?
          merci d'avance
          1. Modérateur
            Je pencherais plutôt pour une solutions centralisée:

            si tu schedule sur chaque poste:
            - chaque utilisateur risque de bidouiller le scheduling, donc les backups sont de grosses chances de foirer et il faudra passer sur chaque poste pour vérifier que le backup est toujours actif.
            - en plus si toutes le machines démarrent leurs backups en même temps, ça va écrouler le réseau.

            Je te conseille:
            - de mettre les disques en partage sur chaque machine, avec accès uniquement à l'administrateur (sous NT/2000/XP il y a déjà un partage administratif par défaut).
            - de prendre un serveur qui aura l'initiative pour aller se connecter sur le partage administratif de chaque poste et récupérer les fichiers.

            Ensuite tu dis à tes utilisateurs que seuls les fichiers placés dans le répertoire c:\trucmuche sur leur machine seront backupés.