我已经将不同服务器上的各种SQL数据库(共18个)的每日自动副本设置为NAS上的一组文件夹,每个文件夹包含每日.bak备份(服务器A - > C:\ Backups \ A \,服务器B - > C:\ Backups \ B \等) . 我需要一个powershell脚本来检查(每天)每个文件夹以查看副本是否成功 . 我希望它写一个日志,复制的文件的名称,大小,以及没有的文件的目录(即当天的.bak应该是的文件夹) . 我有一个列出目标文件夹的数组 . 我已复制到目前为止我所拥有的内容,但我不确定如何检查'if object的lastwritetime = todaysdate'并记录是否确实如此 . 对不起,如果这令人困惑,这是我与Powershell合作的第一周 . 任何见解将不胜感激 .
foreach ($folder in $array.destination)
{gci | sort-object lastwritetime -descending |select -first 1
If
($object lastwritetime.Date -eq (Get-Date).Date #this is wrong, but generally what I want to do
| Out-File "C:\Script\.log" | ft * -autosize)
Else
(
**WRITE DESTINATION OF TODAY'S MISSING .bak TO LOG***
)
}
2 回答
没有必要格式化,如果你这样做,它必须在管道输出到Out-File之前 . 看看这是否有助于您开始朝着正确的方向前进:
此脚本检查数据库并标记是否有任何备份失败 . 它检查完整,差异和日志备份 .