宝塔面板如何备份网站特定目录_自定义计划任务路径备份

老辰酱_6846

老辰酱_6846

2026-04-09

1096人浏览

原创

应使用 tar 命令配合计划任务备份指定子目录,如 tar -zcf /www/backup/uploads_$(date +\%y\%m\%d_\%h\%m).tar.gz -c /www/wwwroot/example.com uploads,并添加自动清理、校验和日志功能。

宝塔面板如何备份网站特定目录_自定义计划任务路径备份

备份命令里用 tar 打包指定目录,别用面板自带的“网站备份”功能

宝塔面板默认的“网站备份”只支持整站或数据库,无法单独备份某个子目录(比如 /www/wwwroot/example.com/uploads)。想备份特定目录,必须绕过图形界面,直接写 shell 命令 + 计划任务。

关键点:路径要绝对、权限要对、压缩包名带时间戳防覆盖。

  • tar -zcf /www/backup/uploads_$(date +\%Y\%m\%d_\%H\%M).tar.gz -C /www/wwwroot/example.com uploads —— 注意 -C 指定根目录,再跟相对路径 uploads,这样解压时不会带冗余层级
  • 目标备份路径(如 /www/backup)需存在且宝塔运行用户(通常是 www)有写权限:mkdir -p /www/backup && chown www:www /www/backup
  • 避免用 ~ 或 ./ 这类相对路径,计划任务里当前工作目录不固定,必须写绝对路径

在宝塔“计划任务”里添加 Shell 脚本,不是直接粘贴命令

直接在计划任务“Shell 脚本”输入框里写长命令容易出错(比如引号转义、换行截断),也难复用和调试。更稳妥的做法是把命令写进脚本文件,再调用它。

  • 新建脚本:vi /www/backup/backup_uploads.sh,内容为上面的 tar 命令(记得加 #!/bin/bash)
  • 赋执行权限:chmod +x /www/backup/backup_uploads.sh
  • 计划任务类型选“Shell 脚本”,脚本内容填:/www/backup/backup_uploads.sh
  • 执行周期按需设,比如每天凌晨 2 点:0 2 * * *;注意宝塔默认用系统 crond,时区以服务器为准

备份后自动清理 7 天前的旧文件,防止磁盘撑爆

不加清理逻辑的话,备份文件会无限累积。宝塔计划任务本身不提供“保留 N 份”选项,得手动加 find 删除。

在脚本末尾追加一行:

find /www/backup -name "uploads_*.tar.gz" -mtime +7 -delete

说明:

  • -mtime +7 表示修改时间超过 7 天的文件(注意不是“创建时间”,tar 打包后文件修改时间即打包时间)
  • 先测试再加 -delete:把命令改成 find ... -print 看列出哪些文件,确认无误再删
  • 如果备份名含空格或特殊字符,find 可能误判,此时改用 -name "uploads_[0-9]*.tar.gz" 更安全

验证备份是否成功,不能只看计划任务“执行成功”状态

宝塔计划任务显示“执行成功”,只代表 shell 进程退出码为 0,不代表 tar 真打完了、没报错、文件可解压。漏掉这步,可能备份了几个月才发现全是空包。

  • 加简单校验:在脚本末尾加 if [ $? -eq 0 ]; then echo "$(date) backup OK" >> /www/backup/backup.log; else echo "$(date) backup FAIL" >> /www/backup/backup.log; fi
  • 手动抽样解压测试:tar -tzf /www/backup/uploads_20240501_0200.tar.gz | head -n 5,看是否列出预期文件
  • 检查文件大小:ls -lh /www/backup/uploads_*.tar.gz,如果连续几天都是几 KB,大概率 tar 失败但被忽略

最常被忽略的是 tar 因权限不足跳过某些子目录却仍返回 0,所以日志+抽样缺一不可。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践

本专题围绕宝塔面板在 ThinkPHP6 项目部署中的实际应用展开,系统讲解 LNMP 环境一键搭建、站点创建、域名绑定、伪静态配置以及 PHP 版本切换等关键操作。内容还包括数据库配置、项目上传部署、运行目录设置及常见部署问题排查。通过完整上线流程演示,帮助开发者快速实现 ThinkPHP 项目的服务器部署与稳定运行,提升网站上线效率与运维能力。

2026.03.23

575

15

宝塔面板网站安全加固与防攻击配置实践
宝塔面板网站安全加固与防攻击配置实践

本专题围绕宝塔面板在网站安全防护中的应用展开,系统讲解防火墙配置、SSH 安全策略、登录保护、端口管理及恶意访问拦截机制。内容涵盖 CC 攻击防护、文件权限设置、敏感目录保护及安全日志分析,帮助用户全面提升服务器安全性。

2026.03.25

72

17

宝塔面板多站点管理与虚拟主机配置实践
宝塔面板多站点管理与虚拟主机配置实践

本专题讲解如何通过宝塔面板实现多站点部署与统一管理,包括站点创建、域名绑定、子站配置及资源隔离策略。通过实战案例,帮助用户高效管理多个网站项目,提高服务器利用率。

2026.03.25

179

21

宝塔面板Nginx性能优化与高并发配置实践
宝塔面板Nginx性能优化与高并发配置实践

本专题围绕宝塔环境下的 Nginx 优化展开,深入讲解缓存策略、连接数调优、Gzip 压缩、静态资源加速及反向代理配置。帮助用户提升网站访问速度与并发处理能力。

2026.03.25

816

29

宝塔面板数据库管理与MySQL性能调优实践
宝塔面板数据库管理与MySQL性能调优实践

本专题讲解宝塔面板中数据库管理与优化技巧,包括数据库备份恢复、慢查询日志分析、索引优化及连接数配置。通过实际案例,帮助用户提升数据库运行效率。

2026.03.25

221

25

宝塔面板SSL证书部署与HTTPS配置实践
宝塔面板SSL证书部署与HTTPS配置实践

本专题围绕网站 HTTPS 部署展开,讲解 SSL 证书申请、自动续签、强制 HTTPS 跳转及混合内容问题解决方案,提升网站安全与 SEO 表现。

2026.03.25

569

25

宝塔面板定时任务与自动化运维实践
宝塔面板定时任务与自动化运维实践

本专题讲解宝塔定时任务功能的使用,包括计划任务创建、Shell 脚本执行、日志管理及自动备份策略,帮助用户实现服务器自动化运维。

2026.03.25

187

23

宝塔面板FTP与文件权限管理实践
宝塔面板FTP与文件权限管理实践

本专题围绕文件管理与权限控制展开,讲解 FTP 创建、用户权限分配、文件读写控制及安全上传策略,保障网站文件安全。

2026.03.25

172

19

宝塔面板PHP环境配置与多版本切换实践
宝塔面板PHP环境配置与多版本切换实践

本专题讲解宝塔中 PHP 环境的配置方法,包括版本切换、扩展安装、运行参数优化及错误日志分析,适用于多项目运行场景。

2026.03.25

306

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.8万人学习