Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #SqlServerInstance
- $sqlServerInstance = '<servername>\SQLEXPRESS'
- $databases = @("Master","<databasename>")
- #S3
- $s3Bucket = '<s3bucketname>'
- $region = 'us-east-1'
- #Backup Settings
- $backupPath = 'C:\temp\sqlbackups'
- $timestamp = get-date -format yyyyMMddHHmmss
- $zipFile = 'C:\temp\sqlbackups-'+$timestamp+'.zip'
- $s3fileName = '<servername/databasename/whatever>/sqlbackups-'+$timestamp+'.zip'
- foreach ($database in $databases) {
- Backup-SqlDatabase -Database $database -ServerInstance $sqlServerInstance -BackupFile (Join-Path $backupPath "$database-$timestamp.bak" )
- }
- if((Get-ChildItem $backupPath -force | Select-Object -First 1 | Measure-Object).Count -gt 0)
- {
- Write-Host "backups found"
- Add-Type -assembly "system.io.compression.filesystem"
- [io.compression.zipfile]::CreateFromDirectory($backupPath, $zipFile)
- Write-S3Object -BucketName $s3Bucket -File $zipFile -Key $s3fileName -Region $region #-ServerSideEncryption AES256
- Remove-Item "$backupPath\*" -Confirm:$false -Force -Recurse
- Remove-Item $zipFile -Confirm:$false -Force
- } else {
- write-host "no backups found"
- }
Advertisement
Add Comment
Please, Sign In to add comment