Question
Archivage en fonction de la date
- jordan49
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 7 mois #7610
par jordan49
Archivage en fonction de la date a été créé par jordan49
Bonjour,
J'ai actuellement une solution de backup qui me crée un fichier tout les soirs à la date du jour. Les fichiers étant volumineux, j'aimerais seulement garder les 3 plus récents (les 3 derniers jours en gros) mais je n'ai aucune idée de comment faire.
En gros au bout de 3 backups, le nouveau backup du jour prend la place du plus ancien et ainsi de suite.
Merci de votre aide !
J'ai actuellement une solution de backup qui me crée un fichier tout les soirs à la date du jour. Les fichiers étant volumineux, j'aimerais seulement garder les 3 plus récents (les 3 derniers jours en gros) mais je n'ai aucune idée de comment faire.
En gros au bout de 3 backups, le nouveau backup du jour prend la place du plus ancien et ainsi de suite.
Merci de votre aide !
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 7 mois #7611
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Archivage en fonction de la date
Salut,
ces backups sont archivés ou pas ?
C'est à dire, est-ce que tu gardes un historique ou les trois derniers uniquement ?
Comment sont nommés tes fichiers ?
Peut-il y avoir + fichiers de backup pour une même date ?
Le contenu de la propriété CreationTime est-il tjr corrélé au nom du fichier (si celui-ci contient la date) ? i.e. peux-tu créer un backup pour la veille ?
Le traitement peut-il être exécuté de manière irrégulière ?
Il faut déjà connaître les régles de création des backups avant de déterminer comment retrouver les trois derniers.
ces backups sont archivés ou pas ?
C'est à dire, est-ce que tu gardes un historique ou les trois derniers uniquement ?
Comment sont nommés tes fichiers ?
Peut-il y avoir + fichiers de backup pour une même date ?
Le contenu de la propriété CreationTime est-il tjr corrélé au nom du fichier (si celui-ci contient la date) ? i.e. peux-tu créer un backup pour la veille ?
Le traitement peut-il être exécuté de manière irrégulière ?
Il faut déjà connaître les régles de création des backups avant de déterminer comment retrouver les trois derniers.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jordan49
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 7 mois #7612
par jordan49
Réponse de jordan49 sur le sujet Re:Archivage en fonction de la date
Les backups ne sont pas archivés, je voudrais juste garder les 3 derniers.
Mes fichiers sont nommés du type \"backup_du_YY_MM-DD\" mais pour des raisons de simplicité je peux seulement mettre \"YY-MM-DD\".
Non uniquement un fichier par date du jour.
Je ne peux pas créer de backup pour la veille, tout mes backups portent automatiquement la date du jour.
Voila
Mes fichiers sont nommés du type \"backup_du_YY_MM-DD\" mais pour des raisons de simplicité je peux seulement mettre \"YY-MM-DD\".
Non uniquement un fichier par date du jour.
Je ne peux pas créer de backup pour la veille, tout mes backups portent automatiquement la date du jour.
Voila
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 7 mois #7616
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Archivage en fonction de la date
Un jeux de test:
[code:1]
$Nombre=3
#YY-MM-DD
$Files=@(\"09-02-06\",\"09-01-25\",\"10-10-08\",\"10-01-15\",\"09-01-15\",\"10-10-10\",\"09-11-25\",\"01-01-01\",\"06-12-31\"«»)
$Files|Sort -Desc
[/code:1]
Le filtre sur les 3 derniers, on inverse pour récupérer les premiers, selon l'ordre donné, afin de les supprimer :
[code:1]
#Le paramètre -Last attend une valeur positive
$Diff=[Math]::Max(0,$Files.Count-$Nombre)
#6 fichiers à traiter
$Files|Sort-Object -Desc |Select-Object -last $Diff|% {\"Delete $_\"}
[/code:1]
qq tests :
[code:1]
$Diff=[Math]::Max(0,$Files[0..3].Count-$Nombre)
#1 fichier à traiter
$Files[0..3]|Sort-Object -Desc |Select-Object -last $Diff|% {\"Delete $_\"}
$Diff=[Math]::Max(0,$Files[0..2].Count-$Nombre)
#aucun fichier à traiter
$Files[0..2]|Sort-Object -Desc |Select-Object -last $Diff|% {\"Delete $_\"}
[/code:1]
Au final on filtre avec une regex les noms de fichiers concerné :
[code:1]
#Filtre le nom \"YY-MM-DD.bck\"
$Files=Dir *.bck |Where { $_.name -match '^\d{2}-\d{2}-\d{2}\.bck$'}|Sort-Object Name
$Nombre=3
$Diff=[Math]::Max(0,$Files.Count-$Nombre)
$Files|Select-Object -last $Diff|Del -whatif
[/code:1]
Le tri est à vérifier.<br><br>Message édité par: Laurent Dardenne, à: 16/08/10 17:07
[code:1]
$Nombre=3
#YY-MM-DD
$Files=@(\"09-02-06\",\"09-01-25\",\"10-10-08\",\"10-01-15\",\"09-01-15\",\"10-10-10\",\"09-11-25\",\"01-01-01\",\"06-12-31\"«»)
$Files|Sort -Desc
[/code:1]
Le filtre sur les 3 derniers, on inverse pour récupérer les premiers, selon l'ordre donné, afin de les supprimer :
[code:1]
#Le paramètre -Last attend une valeur positive
$Diff=[Math]::Max(0,$Files.Count-$Nombre)
#6 fichiers à traiter
$Files|Sort-Object -Desc |Select-Object -last $Diff|% {\"Delete $_\"}
[/code:1]
qq tests :
[code:1]
$Diff=[Math]::Max(0,$Files[0..3].Count-$Nombre)
#1 fichier à traiter
$Files[0..3]|Sort-Object -Desc |Select-Object -last $Diff|% {\"Delete $_\"}
$Diff=[Math]::Max(0,$Files[0..2].Count-$Nombre)
#aucun fichier à traiter
$Files[0..2]|Sort-Object -Desc |Select-Object -last $Diff|% {\"Delete $_\"}
[/code:1]
Au final on filtre avec une regex les noms de fichiers concerné :
[code:1]
#Filtre le nom \"YY-MM-DD.bck\"
$Files=Dir *.bck |Where { $_.name -match '^\d{2}-\d{2}-\d{2}\.bck$'}|Sort-Object Name
$Nombre=3
$Diff=[Math]::Max(0,$Files.Count-$Nombre)
$Files|Select-Object -last $Diff|Del -whatif
[/code:1]
Le tri est à vérifier.<br><br>Message édité par: Laurent Dardenne, à: 16/08/10 17:07
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Archivage en fonction de la date