我正在尝试自动化我们每日批次的日志文件验证。
我想检查大约 20 台服务器,它们可能有多达 30 个批次,每个批次可以生成一个或多个日志文件,我想使用多个标准来验证它们。
因此,这最终会产生大量数据。
我的第一个想法是使用嵌套数组和哈希表,然后像这样创建 psobject:
$servers=@(
@{
"name"="server1";
"credential"="domain\user";
"batch"=@(
@{"batchName"="test";"path"="e:\cit\sauvegarde\batch\recup.cmd";"comment"="batch de test";"schedule"="lundi,mardi ";
"validations"=@(
@{"name"="log exist";"path"="\\smacweb\e$\cit\test.log";"filter"=@("NotNull";"NotOlderThan,2") };
@{"name"="no erros";"path"="\\smacweb\CIT\sauvegarde\logs\*.log";"filter"=@("NotContains,'error'") };
)};
@{"batchName"="mysql";"comment"="dump des bases mysql";"schedule"="lundi,mardi,vendredi";
"validations"=@(
@{"name"="log exist";"path"="\\smacweb\e$\mysqldump\dump.zip";"filter"=@("NotNull";"NotOlderThan,2") };
@{"name"="zipOK";"path"="\\smacweb\e$\mysqldump\dump.zip";"filter"=@("Test-Zip") };
)};
)
};
# @{
# "name"="server2";
# "credential"="domain\user2";
# "batch"=@(
# @{"batchName"=.....};
# )};
)
$srv=@()
$servers | % {
$srv+= New-Object -TypeName psobject -Property $_;
}
这是一个小例子,但我想它很快就会变得难以阅读。那么有什么更好的方法来做到这一点呢?使用xml(我不熟悉),使用外部数据库,其他方法?