プライマリドライブをローカルハードディスクにバックアップしているWindows2008サーバーがあります。
このサーバーはあまり頻繁に変更されないため、価値のある変更が発生した場合にのみ手動で実行します。
これまでに、ディスク上に13個のバックアップを作成しました。私が本当に欲しいのは最後の2つだけだと考えると;どうすればそれらをクリアできますか?
PDATE:明確にするために、この質問はWindowsサーバーのオペレーティングシステムに関するものです。 SQLサーバーではありません。
確認のためにテストサーバーにWindowsServerバックアップをロードしていますが、次の投稿が役立つはずです。
ボリュームシャドウコピーベースのバックアップの場合、wbadminを使用してバックアップの最大サイズを直接設定する方法はありません。 Windows Serverバックアップはバージョン管理をシャドウコピーに依存しているため、MAX DIFF AREAサイズを使用して、バージョンを保存するために割り当てられるスペースの量を制御できます。
さらに、古いバックアップバージョンは、すべての空き領域が使い果たされるまで増大し続けます。WindowsServerバックアップは、古いバージョンのバックアップを自動的に削除して、新しいバックアップ用のスペースを作成します。
ここでこのしきい値を調整します:ボリューム->設定->使用制限-> XXX MB
または、「vssadminsizeize」コマンドラインを使用してシャドウコピーの制限のストレージ量を増やすこともできます。
vssadmin resize shadowstorage /for=<ForVolumeSpec> /on=<OnVolumeSpec> /maxsize=<MaxSizeSpec>
例Vssadminサイズ変更shadowstorage/for = F:/ on = C:/ Maxsize = 900MB
日付で行うのは、Powershellスクリプトから簡単です。
$Days = 30
$TargetFolder = "D:\temp"
$Now = Get-Date
$LastWrite = $Now.AddDays(-$Days)
$Files = get-childitem $TargetFolder -include *.bkf | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{ write-Host "Deleting File $File" -foregroundcolor "Red";
Remove-Item $File
}
これにより、30日より古いフォルダD:\ temp内のすべての* .bkfファイルが削除されます。
いくつかのヘッドスクラッチを使用すると、これを適応させて、設定された数のファイルのみを保持することができます。 get-childitemからの出力を逆の日付でソートし、最初のn個のファイルをスキップする必要があります。
JR