Select-OutdatedFilenames

EulandaXtools — Funktionsreferenz

Select-OutdatedFilenames

ÜBERSICHT

Ermittelt veraltete Datensicherungsdateien anhand des Datums im Dateinamen.

SYNTAX

Select-OutdatedFilenames [-Filenames] <object> [-Basename] <string> [-Extension] <string>
    [[-History] <int>] [<CommonParameters>]

BESCHREIBUNG

Diese Funktion dient der automatisierten Verwaltung von Backup-Dateien auf NAS, FTP oder SFTP-Zielen. Sie filtert eine Liste von Dateinamen nach einem erwarteten Muster (`$Basename-YYYY-MM-DD-HH-mm-ss-ffff.$Extension`) und identifiziert jene Dateien, die gemäß der gewünschten `-History`-Tiefe als veraltet gelten.

Sie wird u. a. von `Backup-MssqlDatabase` verwendet, um alte ZIP-Dateien von Sicherungen automatisch zu löschen – sowohl lokal als auch auf Remote-Systemen.

Anwendungslogik:

PARAMETER

-Filenames

Type: object

Eine Liste von Dateinamen (z. B. aus `Get-ChildItem -Name` oder einem FTP-Verzeichnis).

-Basename

Type: string

Der gemeinsame Basisname der Sicherungsdateien (z. B. `MyDatabase`). Dieser muss exakt mit dem Prefix im Dateinamen übereinstimmen.

-Extension

Type: string

Die Dateiendung (z. B. `.zip`). Kann mit oder ohne Punkt übergeben werden.

-History

Type: int
Default: 3

Anzahl der aufzubewahrenden Dateien. Alle älteren werden als "veraltet" zurückgegeben. Standard: 3

AUSGABEN

[string[]] – Liste der veralteten Dateinamen, die gelöscht werden können.

BEISPIELE

# Gibt die beiden ältesten Dateien zurück, also von 01.01. und 02.01.
Select-OutdatedFilenames -Filenames @("MyDb-2024-01-01-10-00-00-1234.zip", "MyDb-2024-01-02-10-00-00-1234.zip", "MyDb-2024-01-03-10-00-00-1234.zip", "MyDb-2024-01-04-10-00-00-1234.zip") -basename 'MyDb' -extension '.zip' -history 2
Get-ChildItem -Path \\nas\sql -Name | Select-OutdatedFilenames -basename 'DB1' -extension 'zip' -history 5 | ForEach-Object { Remove-Item "\\nas\sql\$_" }

HINWEISE