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 |
Partager