可通过命令行批量导出宝塔面板网站配置:一、用find+cat合并Nginx配置;二、用find+xargs生成带域名标识的独立配置包;三、用bt工具获取站点列表后精准导出;四、用rsync全量同步vhost目录。

如果您需要在宝塔面板环境中批量获取所有网站的 Nginx 或 Apache 配置内容,但无法通过 Web 界面逐一下载,则可通过服务器命令行直接读取配置文件所在路径并统一导出。以下是实现该目标的多种方法:
一、使用 find + cat 批量提取 Nginx 配置文件
宝塔面板默认将 Nginx 网站配置文件存放在 /www/server/panel/vhost/nginx/ 目录下,每个站点对应一个以域名命名的 .conf 文件。此方法通过定位该目录下的全部 .conf 文件并合并输出为单一归档。
1、执行命令进入配置目录并列出所有站点配置文件:
cd /www/server/panel/vhost/nginx/ && ls -1 *.conf
2、将所有 .conf 文件内容合并输出到临时文件:
cat *.conf > /tmp/all_nginx_configs.conf
3、压缩该文件便于传输:
tar -czf /tmp/nginx_configs_backup.tar.gz /tmp/all_nginx_configs.conf
4、确认导出结果:
ls -lh /tmp/nginx_configs_backup.tar.gz
二、使用 find + xargs 构建带站点标识的独立导出包
为避免多个配置混杂导致难以区分,此方法为每个站点生成独立命名的配置副本,并打包为结构化归档,便于后续按需查阅。
1、创建临时导出目录:
mkdir -p /tmp/bt_site_configs
2、遍历所有 .conf 文件并复制为“域名_conf”格式:
find /www/server/panel/vhost/nginx/ -name "*.conf" -exec cp {} /tmp/bt_site_configs/\; -exec basename {} \; | while read f; do mv "/tmp/bt_site_configs/$f" "/tmp/bt_site_configs/${f%.conf}_conf"; done
3、打包整个目录:
tar -czf /tmp/bt_all_sites_individual.tar.gz -C /tmp/ bt_site_configs
4、注意:Apache 用户请将路径中的 nginx 替换为 apache,文件扩展名通常为 .conf 但路径为 /www/server/panel/vhost/apache/
三、通过宝塔官方 CLI 工具 bt 获取站点列表后定向导出
宝塔内置命令行工具 bt 可查询已添加站点信息,结合 shell 脚本可精准匹配每个站点的配置路径,规避通配符误匹配风险。
1、获取所有已启用站点的域名列表:
bt sites | awk 'NR>2 {print $2}' | grep -v "^$"
2、逐个提取对应配置(以 Nginx 为例):
for domain in $(bt sites | awk 'NR>2 {print $2}' | grep -v "^$"); do cp "/www/server/panel/vhost/nginx/${domain}.conf" "/tmp/${domain}_config.conf" 2>/dev/null; done
3、检查是否成功导出全部配置:
ls /tmp/*_config.conf | wc -l
4、若返回数量与 bt sites 显示站点数不一致,说明存在域名含特殊字符或非标准命名,需手动核对 /www/server/panel/vhost/nginx/ 下实际文件名
四、使用 rsync 同步整套 vhost 配置目录
该方法适用于需要完整保留原始目录结构、权限及时间戳的场景,特别适合异地备份或迁移前的全量抓取。
1、确认源目录路径有效性:
ls -ld /www/server/panel/vhost/nginx/ /www/server/panel/vhost/apache/
2、执行同步导出(仅复制,不删除源):
rsync -av --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r /www/server/panel/vhost/ /tmp/bt_vhost_full_copy/
3、生成校验清单:
find /tmp/bt_vhost_full_copy -type f -name "*.conf" | xargs md5sum > /tmp/bt_vhost_checksums.md5
4、rsync 命令中 --chmod 参数确保导出文件在目标位置具备可读性,避免因权限限制导致内容无法查看










