[R] Fonction Run() avec ligne de commande du backup windows

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
steiner62
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 21 sept. 2010 16:17
Status : Hors ligne

[R] Fonction Run() avec ligne de commande du backup windows

#1

Message par steiner62 »

Re bonjour à tous,

Comme expliquer dans ma présentation je bosse sur un projet de sauvegarde sur support USB "sécurité" mais je bloque sur la fonction run qui lance le backup windows.

Voici les codes que j'ai tester :

Code : Tout sélectionner

Run('ntbackup.exe backup "@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks" /f "F:\sauvegarde.bkf" /N Backup USB /m normal /V:yes')

Code : Tout sélectionner

Run("ntbackup.exe backup '@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks' /f 'F:\sauvegarde.bkf' /N Backup USB /m normal /V:yes")
mais le résultat est le même a savoir que le ntbackup se lance mais se referme immédiatement sans faire la sauvegarde. Et si je met la même synthaxe dans le "menu démarrer\executer" la pas de problème tout se lance.

Je soupsonne les " et/ou le @ de poser problème mais je ne vois vraiment pas comment le résoudre car même dans une msgbox la le texte s'affiche bien.

J'ai quasiment trouver toute mes solutions à mes problèmes en cherchent sur le forum mais là j'y ai passer la journée a multiplier les recherches sans succès.

Ensuite j'ai un second souci qui est de mettre en pause mon script durant le ntbackup en sachant que j'ai avant lui un cmd qui doit fermer les base de donnée d'une application et celà prend un temps variable selon les clients donc je ne peut pas utiliser la commande sleep(), j'ai bien trouver les commandes winwait() et autres variantes du genre mais je n'arrive pas à bien les gérer pour obtenir le résultat souhaité. Si vous pouvez me donner un petit coup de pouce aussi sur ça, j'en serai ravi.

D'avance merci à tous

Cordialement
Alex
Modifié en dernier par steiner62 le lun. 27 sept. 2010 09:47, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Fonction Run() avec ligne de commande du backup windows

#2

Message par Tlem »

Je n'ai pas testé, mais avez-vous essayé comme ceci :

Code : Tout sélectionner

Run(@ComSpec & " /c " & @SystemDir & '\ntbackup.exe backup "@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks" /f "F:\sauvegarde.bkf" /N Backup USB /m normal /V:yes')
Ou alors :

Code : Tout sélectionner

ShellExecute ( @SystemDir & '\ntbackup.exe' , 'backup "@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks" /f "F:\sauvegarde.bkf" /N Backup USB /m normal /V:yes')
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
steiner62
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 21 sept. 2010 16:17
Status : Hors ligne

Re: [..] Fonction Run() avec ligne de commande du backup windows

#3

Message par steiner62 »

ah non je n'ai pas pensé a tester ces synthaxes je fait le test de suite

les résultats son identique, j'ai bien la solution de lancer uniquement le ntbackup mais j'aimerais que tout se face en automatique donc là je bloque encore :cry: mais je vais trouver à un moment ou à un autre

Voila j'ai trouver s'était vraiment con comme erreur. le problème vient de l'espace dans le nom du fichier (en rouge dans le code)

Code : Tout sélectionner

Run('ntbackup backup "@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks" /f "F:\sauvegarde.bkf" /N [color=#FF0000]backup usb[/color] /m normal /V:yes')
les bonnes synthaxes sont :

Code : Tout sélectionner

Run('ntbackup backup "@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks" /f "F:\sauvegarde.bkf" /N [color=#008000]"backup usb"[/color] /m normal /V:yes')
ou

Code : Tout sélectionner

Run('ntbackup backup "@C:\Documents and Settings\AM\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\Sauve.bks" /f "F:\sauvegarde.bkf" /N [color=#008000]backup_usb[/color] /m normal /V:yes')
Par contre je ne sais pas si je recré un nouveau message ou si je met a la suite mon second problème que j'avait indiquer en fin de mon premier message. A savoir :
Ensuite j'ai un second souci qui est de mettre en pause mon script durant le ntbackup en sachant que j'ai avant lui un cmd qui doit fermer les base de donnée d'une application et celà prend un temps variable selon les clients donc je ne peut pas utiliser la commande sleep(), j'ai bien trouver les commandes winwait() et autres variantes du genre mais je n'arrive pas à bien les gérer pour obtenir le résultat souhaité. Si vous pouvez me donner un petit coup de pouce aussi sur ça, j'en serai ravi.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Fonction Run() avec ligne de commande du backup windows

#4

Message par ani »

Vous pouvez utiliser l'une des fonctions RunWait/ShellExecuteWait celle-ci permette d'attendre la fin de l'instruction.

bonne continuation ;)
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [..] Fonction Run() avec ligne de commande du backup windows

#5

Message par softwater »

Bonjour,
Voici un extrait de mon programme de backup qui fonctionne depuis 5 ans à merveille chez plus de 150 utilisateurs en mode manuel et sur quelques serveurs de manière automatique à l'aide de tâches planifiées.
► Afficher le texte
Pour tester, il faut le compiler et le poser dans le répertoire c:\backup (à créer...)
Puis créer un fichier de sélection avec l'utilitaire de sauvegarde et l'enregistrer sous "c:\backup" en le nommant "commun.bks".
L'avantage de le déposer hors de la zone des profils est que n'importe quel utilisateur peut l'exécuter. A vous de gérer la sécurité sur c:\backup pour que personne puisse modifier ou effacer les fichiers...

Dans cet exemple un répertoire "BACKUP_[computername]" est créé et le fichier de sauvegarde y est déposé.

La variable "$h" indique la lettre du disque dur externe.
Pour jouer entre une sauvegarde complète ou différentielle, il faut switcher les variables "$typeSauve" et "$fDest"
steiner62
Niveau 1
Niveau 1
Messages : 10
Enregistré le : mar. 21 sept. 2010 16:17
Status : Hors ligne

Re: [..] Fonction Run() avec ligne de commande du backup windows

#6

Message par steiner62 »

merci à vous deux Ani et softwater pour vos réponses à ma seconde parti de question sa marche super.

softwater ton script est simple et très efficace bravo pour ce boulot.

je vais m'en inspiré pour essayer d'amélioré mon script et le simplifié. mais connaisent mes décideurs si je ne "verrouille" pas dans tout les sens possible et imaginable j'aurais bossé pour rien.

Une fois fini la première version Alpha de mon projet je vous le mettrai a disposition pour toute critique et amélioration que je pourrais y faire.
Répondre