宝塔面板支持多网站批量操作,包括网页端多选右键、命令行bt工具、计划任务脚本及API接口四种方式,覆盖停用、备份、配置修改等统一管理需求。

如果您需要在宝塔面板中对多个网站执行相同操作(如SSL续签、备份、停用或文件批量替换),但逐个点击处理效率低下,则可通过面板内置的批量管理功能实现统一调度。以下是具体操作步骤:
一、使用网站列表多选+右键批量操作
宝塔面板网站管理页支持勾选多个站点后触发上下文菜单,适用于停用、启用、备份、删除等通用动作。
1、登录宝塔面板,进入【网站】页面。
2、将鼠标悬停于任一网站行首的复选框区域,点击出现的全选按钮(或按住 Ctrl 键逐个点击复选框)选择目标站点。
3、在已选中站点任意一行上右键单击,弹出快捷菜单。
4、从菜单中选择【停止】、【启动】、【备份】、【删除】等选项,确认后操作将同步应用于所有已勾选站点。
二、通过命令行配合bt命令批量执行
对于需自定义逻辑的操作(如批量修改根目录权限、统一替换配置片段),可调用宝塔内置的 bt 命令行工具结合 shell 脚本实现。
1、通过SSH连接服务器,执行 bt 10 查看所有网站ID及对应域名列表。
2、运行以下命令获取全部网站主域名并存入变量:
websites=($(bt 10 | awk 'NR>2 && NF>=2 {print $2}'))
3、使用 for 循环遍历执行操作,例如批量修改网站根目录权限:
for site in "${websites[@]}"; do chown -R www:www /www/wwwroot/"$site"; done
4、若需批量重载Nginx配置,执行 bt 8 后选择【重载Web服务】。
三、利用计划任务+Shell脚本定时同步配置
当需定期对多个站点执行相同维护动作(如自动更新伪静态规则、同步SSL证书路径),可创建计划任务驱动脚本运行。
1、进入【计划任务】页面,点击【添加计划任务】。
2、任务类型选择【Shell脚本】,执行周期按需设定(如每天凌晨2点)。
3、在脚本内容中写入批量操作逻辑,例如统一为所有网站启用Brotli压缩:
sed -i '/brotli on;/d' /www/server/panel/vhost/nginx/*.conf
sed -i '/gzip/a \ brotli on;' /www/server/panel/vhost/nginx/*.conf
4、保存后,点击【立即执行】验证脚本是否正确写入各站点配置文件末尾。
四、通过API接口批量调用站点管理动作
适用于集成至外部系统或需要跨环境统一管控的场景,使用宝塔官方开放的API进行POST请求控制。
1、在【面板设置】→【API接口】中开启API开关,并记录密钥与端口。
2、构造curl请求,以批量停用为例:
curl -X POST "http://127.0.0.1:8888/panel/api" \
-H "Content-Type: application/json" \
-d '{"action":"SiteStop","sites":["site1.com","site2.net"]}' \
-H "Authorization: Basic $(echo -n 'KEY:SECRET' | base64)"
3、确保请求体中的 sites 字段为合法域名数组,且每个域名已在面板中添加为网站。
4、响应返回 success:true 表示所有指定站点均已成功停用。










