Script de récupération de données
Hors ligneSpip5 Le 05/02/2009 à 15:47 Profil de Spip5 Configuration de Spip5

Ecureuil fou
Bonjour à tous,

Il m'a été donné la directive suivante: rédiger un script pour sauvegarder automatiquement les données présentes sur X postes portables.

Dans la théorie, j'ai émis la première éventualité: à chaque connexion d'un utilisateur, lancer un script de connexion (via Active Directory) faisant une copie de tous les fichiers présents dans un répertoire donnée vers un serveur de sauvegarde.
Jusqu'ici, tout va bien. Un fichier .bat contenant
Myself a écrit :
net use z: \\serveur\sauvegarde\%username%
xcopy c:\data z: /e /h /y /k
fera l'affaire.

Si à chaque ouverture de session les utilisateurs attendent 3 plombes que toutes les données se copient, ça ne va pas le faire. Il m'a donc été suggéré d'inclure une condition à la récupération des données: que seuls soient copiés les fichiers nouveaux ou modifiés depuis la dernière fois.
Là, ça va encore:
Myself a écrit :
net use z: \\serveur\sauvegarde\%username%
xcopy c:\data z: /e /h /y /k /d


Mais en y réfléchissant, je me suis dit: si l'utilisateur a au 1er janvier 1Go de données récupérés, puis que 3 mois après il a supprimé localement ces données et les a remplacé par 1Go d'autre chose, le serveur lui conservera 2Go, ce qui n'est pas utile et risque rapidement de le surcharger.
Dès lors, comment faire pour que les fichiers présents sur le disque du serveur soient supprimés s'ils ne se trouvent plus sur le poste client ?
J'ignore s'il existe une telle commande. Peut-être un "if". Si oui, à quoi ressemblerait-il ?

Si une telle option n'était pas viable, je risquerai alors de me rabattre vers des logiciels consacrés et suis tout ouï à vos suggestions.

Merci d'avance pour vos réponses.
--

Hors ligneSpip5 Le 06/02/2009 à 15:55 Profil de Spip5 Configuration de Spip5

Ecureuil fou
Bonjour à tous,

Les choses ont avancées depuis hier.



Tout d'abord, je remercie tatave17 de m'avoir envoyé par mp ce lien. Y est proposé un script intéressant.



Néanmoins, ce n'est pas la piste que j'ai privilégié, puisque j'ai trouvé plus simple.

J'ai découvert la commande robocopy, présente dans le Windows Server 2003 Resource Kit Tools

Ma formule serait donc:
Myself a écrit :
robocopy e:\monrepertoire d:\monbackup /mir /s /purge /r:0

C'est le paramètre "/purge" qui fait toute la différence avec mon simple xcopy, puisqu'il supprime ce qui se trouve sur le serveur est n'est plus sur le poste client.



Mais, depuis hier, j'ai repensé à la chose.
Je me suis dit qu'il serait bien que les données ne soient supprimées du serveur si elles ne se trouvent plus sur le client qu'après un certain délai.
Car si un client détruit ses données localement, puis ouvre une nouvelle session, le serveur va répliquer la suppression !

De nouvelles pistes pour mon nouveau besoin ?

Merci d'avance pour vos réponses.
--

Hors ligneTatave17 Le 06/02/2009 à 16:33 Profil de Tatave17 Configuration de Tatave17

Papi Bidouille
ça n'engage que moi
stratégie de sauvegarde:
-- pour pouvoir se récupérerer en cas de gros problème --
--             selon les moyens mis à disposition      --
je schématise
* sauvegarde jour pair sur un média
* sauvegarde jour impair sur un autre média
* sauvegarde et cumul en fin de semaine archive sur un autre média.
Par contre, le temps de conservation doit être défini !
ou alors augmentation des moyens en fonction de la durée de vie du média utilisé
@+
--
[couleur=#00CC66]N' oubliez pas de presser sur le bouton " Réponse accepté "à côté de la solution apportée si elle te convient[/couleur] [couleur=#0066FF]On aide plus un être en lui donnant de lui-même une image favorable qu'en le mettant sans cesse en face de ses défauts. "Albert Camus"[/couleur]
Hors ligneSpip5 Le 23/02/2009 à 10:43 Profil de Spip5 Configuration de Spip5

Ecureuil fou
Je suis tout à fait d'accord avec toi Tatave, mais mon responsable ne l'entend pas de cette oreille. C'est même pire que ce que je croyais en fait.

Alors que j'avais beaucoup avancé sur un script en Powershell, je viens de recevoir de sa part.

après m'avoir dit initalement "débrouillez-vous", il vient de me donner des indications plus précises.
MonChef a écrit :
On se fout du délai de 7 jours. On se fout de l'effacement de données.


Mis à part le fait que je trouve ces remarques complètement connes, je dois jeter le travail que j'avais fait et me rediriger vers un simple xcopy ou robocopy.

Il a toutefois émit de nouveaux impératifs: MonChef a écrit :
les données doivent être récupérées non pas à chaque lancement du poste, mais une fois tous les 7 jours. Par ailleurs, cela doit se faire de façon transparente pour l'utilisateur.


Pour que le script ne se lance qu'une fois par semaine, j'ai bien la possibilité d'utiliser le planificateur de tâches de windows. Sauf que dans ce cas, si le PC est non connecté au réseau (par exemple l'utilisateur est à ce moment dans un avion), je crains que la copie des données ne se fassent pas de la semaine.

Auriez-vous des pistes à me suggérer pour contourner ce problème ?

Par ailleurs, peut-on déployer des tâches planifiées par GPO ?

Merci d'avance pour vos réponses.
--

Hors ligneSpip5 Le 09/03/2009 à 10:04 Profil de Spip5 Configuration de Spip5

Ecureuil fou
J'ai beaucoup avancé à ce sujet sur un autre forum spécialisé.

Pour ceux que la solution intéresserait, je les invite à se rendre sur http://batch.xoo.it/t278-Script-de-recuperation-de-donnees.htm#p2608
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels