资讯王 发表于 2014-6-3 20:09:24

[教学] 把SQL Server数据库的bak文件,PowerShell压缩转换成7z文件

Backup SQL Server后,bak的file越来越大,只好用PowerShell来自动压缩bak转换成7z文件
用以下代码就行了,path路劲自己换,这代码是 超级压缩法,你的server资源也会用较多,如果不要,可以拿掉 "-mx9 -m0=lzma2"

把以下代码丢进notepad,save as .PS1,之后右键Run with PowerShell就行了。

要自动定时跑,就得set task scheduler,在control panel >> administrative tools
Program/script 放 powershell.exe
Add Arguments 放 -file "C:\test.PS1"$path = "C:\inetpub\logs\LogFiles\"
$mask = "*.bak"

$days = 0

$files = dir $path -Recurse -Include $mask | where {($_.LastWriteTime -lt (Get-Date).AddDays(-$days).AddHours(-$hours).AddMinutes(-$mins)) -and ($_.psIsContainer -eq $false)}


ForEach ($file in $files) {

    & "C:\Program Files\7-Zip\7z.exe" u -mx9 -t7z -m0=lzma2 ($file.FullName + ".7z") $file.FullName
    if ($LASTEXITCODE -eq 0) {
      Remove-Item $file
    }

}
页: [1]
查看完整版本: [教学] 把SQL Server数据库的bak文件,PowerShell压缩转换成7z文件