Bonjour à tous,
Je cherche à générer un fichier de LOG afin d'indiquer quand a été effectué mon script. Le script supprime des fichiers de LOG d'applications.
J'ai trouvé le script sur internet et je l'ai un peu adapté, je changerais le nom des variables ensuite.
Il scan l'arborescence indiqué et supprime les fichiers de plus de 30 jours.
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 # Début du script # Déclaration des variables $mydata = "C:\bckp\Test1" $jour = Get-Date $lastmod = $jour.AddDays(-30) # requête Get-Childitem $mydata -recurse -force | Where {$_.LastWriteTime -le "$lastmod"} | Foreach { If (($_.extension -eq ".log") -or ($_.extension -eq ".svclog")) { Remove-Item $_.fullname | out-null } } # Fin du script
Afin d'être sur que la commande est passé, je voudrais créer un fichier log reprenant certaines informations. J'ai donc modifié le script mais il ne fonctionne pas comme je veux.
1er problème :
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 # Début du script # Déclaration des variables $mydata = "C:\bckp\Test1" $jour = Get-Date $lastmod = $jour.AddDays(-30) # Démarrage Log Start-Transcript C:\bckp\purgelog.log write-host "Début de la suppression des fichiers" write-host $mydata write-host $jour write-host $lastmod # requête Get-Childitem $mydata -recurse -force | Where {$_.LastWriteTime -le "$lastmod"} | Foreach { If (($_.extension -eq ".log") -or ($_.extension -eq ".svclog")) { Remove-Item $_.fullname | out-null # write-host "Deleting File $_.fullname" -foregroundcolor "Red"; Remove-Item $_.fullname | out-null } } write-host $jour write-host $lastmod write-host 'Fin de la suppression des fichiers' # Fin LOG Stop-Transcript # Fin du script
Le fichier est bien généré, mais le contenu est remplacé à chaque fois au lieu d'être implémenté.
Pour implémenter le contenu, j'ai vu >>. Mais je ne sais pas trop ou je dois l'ajouter, car j'ai fait un test mais il m'intégrait pas toutes les informations
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 ********************** Début de la transcription Windows PowerShell Heure de début*: 20140808131416 Nom d'utilisateur*: * Ordinateur : * ********************** Transcription démarrée, le fichier de sortie est C:\bckp\purgelog.log Début de la suppression des fichiers C:\bckp\Test1 08/08/2014 13:14:16 09/07/2014 13:14:16 08/08/2014 13:14:16 09/07/2014 13:14:16 Fin de la suppression des fichiers ********************** Fin de la transcription Windows PowerShell Heure de fin*: 20140808131416 **********************
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Start-Transcript C:\bckp\purgelog.log
Il y a probablement une autre manière de faire... Je continue à chercher.
Partager