Sie können ein PowerShell-Skript schreiben und von Windows Task Scheduler alle zwei Stunden ausführen lassen
Ein schnelles und schmutziges Beispielskript:
# Declare variables $db = "[DB NAME]" $user = "[DB USERNAME]" $pw = "[DB PASSWORD]" $date = (Get-Date).ToString("yyyy-MM-dd_HH.mm.ss") $mysql_backupfile = ".\backup_$date.sql" $zipped_backupfile = "$mysql_backupfile.zip" # Backup MySql database mysqldump --user=$user --password=$pw --databases $db > $mysql_backupfile # Compress file using 7zip sz a -tzip $zipped_backupfile $mysql_backupfile # Remove uncompressed backup file rm -Path $mysql_backupfile
Ändern Sie den Datenbanknamen, den Benutzernamen und das Kennwort sowie das Datumsformat in das gewünschte Format.
Hinweis: Ich bin nicht ganz sicher, welche Auswirkungen das Einfügen des Benutzernamens und des Passworts direkt in das Skript haben kann. Wenn Ihr Server jedoch sicher ist, bin ich sicher, dass dies in Ordnung ist. Sie können die Berechtigungsnachweise jedoch beliebig laden (z. B. von einer Umgebungsvariablen).
Bearbeiten Sie die Frage im Kommentar:
So löschen Sie ZIP-Dateien, die älter als 3 Tage sind:
Get-ChildItem -Filter '*.zip' | where { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } | Remove-Item