Bonjour à tous.
En ayant soupé des faq et des forums anglais/français, je viens vous exposer mon problème simple d'apparence et qui, avec votre aide j'en suis certain, une fois résolu me fera bien passer pour un beau guignolo.
Voilà j'essaie d'écrire un petit script en vb que je ferai tourner sur le serveur avec le planificateur de tâche, script qui fera une sauvegarde hebdomadaire dans un dossier bien spécifique, à l'aide de mysqldump.
Seulement voilà, les lignes de commande et moi ça fait, et je suis sûr que c'est là que ça plante.
Donc voici mon code:
Le truc, c'est que nResults retourne 1, ce qui laisserait penser qu'il m'a bien créé un fichier, mais celui-ci est introuvable. De plus, l'affichage de nResults est instantané, et vu la taille de la base, c'est clair que mysqldump ne fait rien / plante / ne s'ouvre pas / me regarde de haut un sourcil levé (au choix)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Dim d 'date à traiter Dim nomFichier 'Nom de la sauvegarde Dim nResults Dim stRep 'Nom du répertoire à parcourir Dim oFSO,oFl Dim user Dim password Dim database Dim sqldump Dim oShell Dim arguments Dim jour ' chaine jour de la semaine.. d = now ' date actuelle jour = UCase(WeekDayName(WeekDay(d))) ' suppression de la sauvegarde précédente datant du même jour Set oFSO = CreateObject("Scripting.FileSystemObject") stRep = "C:\Users\poste\Desktop\Ancien Partage\backup batch\backup\hebdomadaire" If oFSO.FolderExists(stRep) Then For each oFl in oFSO.GetFolder(stRep).Files if InStr(1,Ucase(oFl.Name),jour) <> 0 then oFl.Delete True end if Next End If nomFichier = "Backup_BDDSMN_HEBDO_"&jour&"_"&Day(Now)& "/"& Month(Now)&"/"& Year(Now)& "_"& Hour(Now)& ":"& Minute(Now)& ":"& Second(Now) user = "smn" password = "smn" database = "smn" sqldump = "C:\Program Files\MySQL\MySQL Server 5.5\bin\MySQLDump.exe" nomFichier = nomFichier & ".smn" backup_file = stRep & "\" & nomFichier arguments = "--user=" & user & " --password=" & password & " " & database & " > " & nomFichier arguments = sqldump & " " & arguments Set oShell = CreateObject("WScript.Shell") nResults = oShell.Run ("cmd /c " & arguments, 1, TRUE) WScript.Echo(nResults) oShell = null
Alors, elle est où ma grosse ignorance ?
Partager