宝塔面板博客官方技术博客
宝塔面板

宝塔计划任务怎么写?Shell 脚本、备份、日志切割全类型

更新于 2026 年 9 月 18 日

想在宝塔面板里让服务器定时跑脚本、自动备份、定期切日志,入口在左侧导航栏的 计划任务:点进去再点 添加任务,在「任务类型」里选好类型、填好参数后提交即可,无需自己写 crontab 表达式。

本文把计划任务支持的 12 种任务类型讲全,并说清每种的关键参数怎么填;再补一个容易被忽略的 脚本库 功能,让你把常用脚本存起来反复调用。

计划任务在哪、怎么创建?

  1. 登录宝塔面板,点击左侧导航栏的 计划任务,进入计划任务列表页面。

导航栏-计划任务

  1. 点击 添加任务,进入添加计划任务页面。
  2. 填写计划任务信息,点击 提交 即可创建。

填写计划任务信息

涉及备份、查杀等类型的「消息通道 / 备份提醒」需要先配置告警消息通道,才能把执行结果或失败告警发到微信、钉钉、邮件等,具体见官方文档《配置告警消息通道》。

12 种任务类型,关键参数怎么填?

创建任务时的核心一步就是选「任务类型」,不同类型要填的参数不一样。下面按类型说明。

Shell 脚本

选「Shell 脚本」后,把要执行的脚本内容填进脚本输入框即可。有两点要注意:

  • 提交前检查脚本:确保脚本内容正确,否则会导致脚本执行失败、无法执行。
  • 受限命令:为保证服务器安全稳定,shell 脚本中以下命令不可用:shutdown、init 0、mkfs、passwd、chpasswd、--stdin、mkfs.ext、mke2fs。

备份网站

参数 怎么填
任务名称 根据备份的网站名称自动命名
执行周期 按实际情况选备份网站的执行时间
备份网站 可选指定网站,也可以备份所有网站
备份路径 服务器磁盘(默认 /www/backup/site),或已安装的存储插件(阿里云 OSS、七牛云存储、百度 BOS、腾讯云 COS 等)
备份保留数量 默认保存 3 份,保留就近备份文件以减少占用空间
备份提醒 设置消息通道,备份失败时发送告警
排除规则 可选择部分文件或目录不备份

备份数据库

参数与「备份网站」基本一致,区别在备份对象与默认路径:

  • 备份数据库:可选指定数据库,也可以备份所有数据库。
  • 备份路径:服务器磁盘默认 /www/backup/database,同样支持上述存储插件。
  • 备份保留数量:默认保存 3 份。

远程数据库不支持备份表。

数据库增量备份

与普通「备份数据库」类似,但多一个 压缩密码 参数,且有以下限制:

  • 压缩密码:请牢记,以免因密码缺失导致无法恢复和下载数据。
  • 默认备份位置:服务器磁盘 /www/backup/database。
  • 暂不支持 SQLServer、MongoDB、Redis、PgSQL 的备份。

网站日志切割

用于定期切分网站访问日志,防止日志文件无限膨胀:

  • 切割日志(即备份保留数量):默认保存 180 份,可按需更改。
  • 只切分项目的访问日志;项目日志需前往「网站 → 项目 → 项目日志」单独配置。
  • 切割后的日志存放在所选目录下的 history_backups 文件夹中。

备份目录

按目录维度做定时备份:

  • 备份目录:自行选择需要备份的目录。
  • 备份位置:服务器磁盘默认 /www/backup/path,或存储插件。
  • 备份保留数量:默认保存 3 份。
  • 排除规则:可选择部分文件或目录不备份。

木马查杀

  • 查杀站点:可选指定站点,也可以查杀所有站点。
  • 消息通道:把木马查杀结果发送到已设置的消息通道。

同步时间

  • 时区选择:按实际选择时区。
  • 默认从 NTP 服务器同步时间;失败时将同步 bt.cn 的服务器时间。

释放内存

  • 任务名称默认「释放内存」。
  • 释放 PHP、MYSQL、PURE-FTPD、APACHE、NGINX 的内存占用。
  • 官方建议在每天半夜执行。

访问 URL

用于定时请求某个 URL(如触发缓存预热、心跳探测):

  • URL 地址:输入需要请求的 URL。
  • User-Agent:按需输入请求的 User-Agent。

网站启停

按固定节奏定时开启 / 关闭站点:

  • 执行周期:每天一次。
  • 站点:选择需要开启或关闭的站点。
  • 开启时间、停止时间:分别选择开启和停止的时间点。

日志清理

定期清理指定类型日志:

  • 任务名称默认「日志清理」。
  • 清理类型:按实际选择需要清理的日志类型。
  • 自定义选择的目录支持切割的日志类型有:.log、.txt、.out、.err、.log.1。

脚本库:把常用脚本存起来反复调用

除了在任务里临时写脚本,宝塔还在「计划任务」顶部提供了 脚本库,用于集中管理常用脚本:

  1. 点击顶部导航栏的 脚本库,进入脚本库页面。

脚本库

  1. 在脚本库里可以找到宝塔官方提供的常用脚本,也可以 创建脚本 上传自己的脚本,需要时直接使用。

使用脚本库时有几点约定:

  • 当前仅支持 Python 和 Shell 两种脚本。
  • 返回类型:请根据返回类型在脚本执行结束时输出符合预期的值。
  • 脚本参数:如果勾选需要脚本参数,使用当前脚本时需传递一个参数,并在脚本的第一个参数中接收。
  • 编码声明:Python 脚本需指定编码(如 #coding: utf-8);Shell 脚本可以用 #!/bin/bash 或 #!/bin/sh 开头,未指定类型时默认按 Shell 脚本执行。

信息来源

本文事实以宝塔官方文档为准:《计划任务》、《脚本库》、《配置告警消息通道》。

常见问题

宝塔计划任务里的 Shell 脚本怎么写?哪些命令不能用?

在计划任务列表点「添加任务」,任务类型选「Shell 脚本」,把脚本内容填进脚本输入框再点提交即可。出于安全考虑,shell 脚本中以下命令不可用:shutdown、init 0、mkfs、passwd、chpasswd、--stdin、mkfs.ext、mke2fs。提交前务必确认脚本内容正确,否则会导致执行失败。

备份网站/数据库默认保存在哪?保留几份?

备份网站默认保存在服务器磁盘的 /www/backup/site,备份数据库默认在 /www/backup/database;也可以改选阿里云 OSS、七牛云存储、百度 BOS、腾讯云 COS 等存储插件。备份保留数量默认保存 3 份,保留就近的备份文件,可减少占用空间。

数据库增量备份和普通「备份数据库」有什么区别?

两者都会备份数据库,但增量备份支持设置压缩密码,需要牢记密码以免无法恢复下载数据。增量备份暂不支持 SQLServer、MongoDB、Redis、PgSQL;此外无论哪种方式,远程数据库都不支持备份表。

网站日志切割会切掉我的访问日志吗?

不会删除。日志切割只切分项目的访问日志(项目日志需到「网站 → 项目 → 项目日志」单独配置),切割后的日志默认保留 180 份,存放在所选目录下的 history_backups 文件夹中。

脚本库和直接在任务里写脚本有什么区别?

脚本库是把常用脚本集中存放,可以在「计划任务 → 脚本库」里使用宝塔官方脚本或上传自定义脚本,需要时直接反复调用,不用每次重写。脚本库目前只支持 Python 和 Shell 脚本,脚本支持参数、返回类型和编码声明。

计划任务支持哪些执行周期?

每种任务类型都有「执行周期」这一项,可按实际需要选择执行的间隔或具体时间。例如「网站启停」固定为每天一次,配合开启时间和停止时间实现定时开关站;「释放内存」官方建议在每天半夜执行。