IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

[Batch] Script pour copie de sauvegarde et nettoyage de fichiers + log


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Par défaut [Batch] Script pour copie de sauvegarde et nettoyage de fichiers + log
    Bonjour

    Je debute dans le monde du scripting autant dire que je suis pas tres doué.
    En fonction de ce que je peux trouver j'essaie de monter un script qui fera les actions suivantes:
    - Copie de la sauvegarde SQL du client vers serveur de fichier
    - Suppression de la sauvegarde sur le client
    - Suppression sur le serveur de fichiers des backups > 7 jours

    J ai navigué sur les forums et les sites, j en suis arrive a ca mais cela ne fonctionne pas, il indique une erreur if attendu ligne 85. j aimerais vos lumieres parce que je galere.

    '
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     ============== Définition des variables publiques ===============
    Public oFichierLog
    
    '============== Déclaration des variables ======================
    Dim oFsoFichierLog
    Dim oFS
    Dim oFl
    Dim oFSO
    
    '============== Déclaration des constantes =====================
    CONST sCheminSource = "\\vir-86921a1a162\c$\bckup_fusion\*.*"
    CONST sCheminBackup = "\\2003r2srv\c$\sauvegarde_base_sql\affranchissement\"
    CONST sNomFichierLog = "\\2003r2srv\c$\sauvegarde_base_sql\Logs_script_affranchissement\affranchissement.log"
    CONST DELAI = 7
    CONST iScriptID = 0
    
    ' ================================ Main ====================
    ' Test si paramtre GO Okay
    if wscript.arguments.Count < 1 then
         wscript.echo "Argument manquant. Lancer le script avec le paramètre GO"       
        wscript.Quit(1)
    else       
         if lcase(wscript.arguments(0)) <> "go" then  
        wscript.echo "Argument incorrecte."      
       wscript.quit(1)
      end if
    
    ' Tentative d'ouverture du fichier de log
    set oFsoFichierLog  = CreateObject("Scripting.FileSystemObject")
    		On Error Resume Next
    Set oFichierLog = oFsoFichierLog.OpenTextFile(sNomFichierLog, 8, True)
    If Err.Number <> 0 Then
      On Error GoTo 0  
     	 Wscript.Echo "Impossible d'ouvrir le fichier " & sNomFichierLog
      	Set oFsoFichierLog = Nothing  
      	Wscript.Quit(1)
      End If
     
    call log(iScriptID, "", "Info")
    call log(iScriptID, "==== " & Date() & " " & Time() & " - Debut du script " & wscript.scriptname & " ====", "Info")
    call fCopyBackup (sCheminSource)
    call fDeleteBackup (sCheminSource)
    call fMenageRep1(sCheminBackup)
    call log(iScriptID, "==== " & Date() & " " & Time() & " - Fin du script " & wscript.scriptname & " ====", "Info")
    call log(iScriptID, "", "Info")
    
     '============================== Function ===================
     ' Partie du script qui copie les fichiers de backup depuis le client vers le serveur de fichiers 
    function fCopyBackup (sCheminSource)
    	on error resume next
    		wscript.echo sCheminSource
     Set oFSO = CreateObject("Scripting.FileSystemObject") 
     oFSO.CopyFile " & sCheminSource, " & sCheminBackup   
     End function
     
     ' partie du script qui supprime les fichiers locaux qui ont ete copies sur le serveur de fichiers
    function fDeleteBackup (sCheminSource)
    	on error resume next
    		wscript.echo sCheminSource
     		Set oFSO = CreateObject("Scripting.FileSystemObject") 
     		oFSO.DeleteFile " & sCheminSource,True" 
     ' Le parametre True permet d'effacer les fichiers en lecture seule.
     End function
     
    ' Partie du script qui supprime les backup datant de plus de 7 jours
    function fMenageRep1 (sCheminBackup)
    	on error resume next
    		wscript.echo sCheminBackup
    		Set fso = CreateObject ("Scripting.FileSystemObject")
    		Set Folder = fso.GetFolder(sCheminBackup)
    		Set Files = folder.files
    		For each folderIdx In files
    			If DateDiff ("d", file.DateLastModified, Now)>DELAI then
    			call log (iscriptID, "information - Suppression de " & folderIdx.path, "- info")
    	oFSO.DeleteFile (folderIdx.path)
    	If err.number > 0 then
    	call log (iscriptID, "information - Erreur lors de la suppression de " & folderIdx.path & "-" & err.number & "-" & err.description, "- Info")
    		err.clear
    	End if
    End function
    
    'Fonction de reporting des évènements dans le ficheir de log
    Function log(script_id, error_mesg, etat)
            wscript.Echo error_mesg
            oFichierLog.writeline error_mesg
            'call log_db(script_id, error_mesg, etat, errCounter)
    end function
    De meme, rien ne se renseigne dans mon fichier de log.
    En attendant, d'avoir vos lumieres vais retourner dans mes recherches
    d'avance merci de votre aide

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Pour info, ce n'est pas du batch, c'est du VBS... Pense aussi à citer la ligne exacte quand tu donnes un numéro de ligne en erreur, car sinon, il n'est pas possible de savoir quelle est la ligne fautive (une ligne vide en trop ou en moins et le 85 n'a plus aucun sens !!!).
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. [BATCH]script pour encoder des fichiers dans une arborescence
    Par ashgan44 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 11/05/2009, 15h04
  2. génération d'un script pour copie du contenue d'une table
    Par Nako_lito dans le forum Développement
    Réponses: 1
    Dernier message: 09/10/2008, 21h46
  3. Script pour copie de PST sur un serveur
    Par Grego057 dans le forum VBScript
    Réponses: 0
    Dernier message: 22/05/2008, 15h35
  4. (batch) Script pour pouvoir changer de domaine
    Par alex_m94 dans le forum Windows
    Réponses: 7
    Dernier message: 07/09/2007, 18h24
  5. [Batch] Scripts pour un systeme de backup sur serveur
    Par placebomuse dans le forum Windows
    Réponses: 3
    Dernier message: 22/04/2006, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo