文章目录
- abstract
- 批量设置
abstract
对于需要大量建站,并且站点类型都很接近的宝塔用户,可以考虑使用如下powershell脚本进行批量建站语句生成
请根据宝塔的要求的批量建站语句格式创建脚本
例如
function Get-BatchSiteBuilderLines
{
<#
.SYNOPSIS
获取批量站点生成器的生成命令行(宝塔面板专用)
.DESCRIPTION
格式说明
批量格式:域名|根目录|FTP|数据库|PHP版本
案例: bt.cn,test.cn:8081|/www/wwwroot/bt.cn|1|1|56
最简单的站点:
域名|1|0|0|0
1. 域名参数:多个域名用 , 分割
2. 根目录参数:填写 1 为自动创建,或输入具体目录
3. FTP参数:填写 1 为自动创建,填写 0 为不创建
4. 数据库参数:填写 1 为自动创建,填写 0 为不创建
5. PHP版本参数:填写 0 为静态,或输入PHP具体版本号列如:56、71、74
如需添加多个站点,请换行填写
.NOTES
domain1.com
domain2.com
domain3.com
.EXAMPLE
#测试命令行
Get-BatchSiteBuilderLines -user zw -domains @"
domain1.com
domain2.com
domain3.com
"@
#回车执行
.EXAMPLE
执行结果
#⚡️[Administrator@CXXUDESK][~\Desktop][9:21:52][UP:4.66Days]
PS> Get-BatchSiteBuilderLines -user zw -domains @"
>> domain1.com
>> domain2.com
>> domain3.com
>> "@
domain1.com,*.domain1.com |/www/wwwroot/zw/domain1.com |0|0|84
domain2.com,*.domain2.com |/www/wwwroot/zw/domain2.com |0|0|84
domain3.com,*.domain3.com |/www/wwwroot/zw/domain3.com |0|0|84
.EXAMPLE
#⚡️[Administrator@CXXUDESK][~\Desktop][9:22:07][UP:4.66Days]
PS> Get-BatchSiteBuilderLines -domains @"
>> domain1.com
>> domain2.com
>> domain3.com
>> "@
domain1.com,*.domain1.com |/www/wwwroot/domain1.com |0|0|84
domain2.com,*.domain2.com |/www/wwwroot/domain2.com |0|0|84
domain3.com,*.domain3.com |/www/wwwroot/domain3.com |0|0|84
#>
[CmdletBinding()]
param (
$domains = @"
domain1.com
domain2.com
"@,
$LD3 = "*" ,
$user,
$php = 84
)
$domains = $domains.trim() -split "`r?`n" | Where-Object { $_.Length }
$lines = [System.Collections.ArrayList]@()
# $domains = $domains -replace "`r?`n", ";"
# $domains = $domains -replace "`n", ";"
# Write-Verbose $domains
Write-Verbose "$($domains.Length)"
foreach ($domain in $domains)
{
Write-Verbose "[$domain]"
$domain = $domain.Trim()
$line = "$domain,$LD3.$domain`t|/www/wwwroot/$user/$domain`t|0|0|$php" -replace "//", "/"
$line = $line.Trim()
Write-Host $line
$lines.Add($line) > $null
}
$lines | Set-Clipboard
}
比如我手上有3个域名要建站,这个站分配给用户zw
domain1.com
domain2.com
domain3.com
那么执行上述函数
Get-BatchSiteBuilderLines -user zw -domains @"
domain1.com
domain2.com
domain3.com
"@
执行结果
#⚡️[Administrator@CXXUDESK][~\Desktop][9:24:43][UP:4.66Days]
PS> #测试命令行
>>
>> Get-BatchSiteBuilderLines -user zw -domains @"
>> domain1.com
>> domain2.com
>> domain3.com
>> "@
>> #回车执行
domain1.com,*.domain1.com |/www/wwwroot/zw/domain1.com |0|0|84
domain2.com,*.domain2.com |/www/wwwroot/zw/domain2.com |0|0|84
domain3.com,*.domain3.com |/www/wwwroot/zw/domain3.com |0|0|84
批量设置
以批量伪静态设置为例
进入宝塔->网站->网站列表中勾选需要处理的网站->列表下方下拉框中选择部署伪静态->点击批量操作(已选中)
比如要我选中的4个站点设置wordpress伪静态