powershell - 多个站点的Powershell预热脚本?
问题描述
我是 powershell 新手,并尝试配置以下预热脚本以针对多个域运行:
$Site = "http://172.28.36.202:1156/"
$minTime = 250
@($Site) | % {
Write-Host "Warming up $($_)"
Do {
$time = Measure-Command {
$res = Invoke-WebRequest $_ -Headers @{host="mydomain.com"}
}
$ms = $time.TotalMilliSeconds
If ($ms -ge $minTime) {
Write-Host "$($res.StatusCode) from $($_) in $($ms)ms" -foreground "yellow"
}
} While ($ms -ge $minTime)
Write-Host "$($res.StatusCode) from $($_) in $($ms)ms" -foreground "cyan"
}
让它按预期工作,但需要能够在多个 url 处触发代码块。我有大约 25 台服务器需要预热。
关于最佳方法的任何提示?谢谢
解决方案
创建一个包含您需要的所有项目的文本文件,并根据需要将其读入以进行处理。
$Site = Import-Csv -Path PathToCsvFileWithYourList
这样你就可以让你的脚本保持原样,当你需要为更多或更少的服务器点执行此操作时,你只需更改此文件。
推荐阅读
- superset - Superset 是否支持后台异步数据源刷新?
- javascript - 无法将 x 解析为 Date 对象
- regex - 跳过字典中的短字母/单词组合
- javascript - 如何在 ReactJS 上渲染代码生成的 SVG?
- linux - 如何使用命令行脚本动态配置 haproxy?
- android - 仅从 SD 卡中读取名称中包含特定字符串的文件
- r - 如何遍历由 data.table 中的数字索引的变量?
- ruby-on-rails - Rails 生产控制台中没有控制台颜色
- genexus - 如何使用逗号分隔符“,”而不是“。” 十进制的genexus值?
- spss - 为什么我的语法无法计算新变量?