登录
首页 >  文章 >  php教程

宝塔面板网站自动开关机设置方法

时间:2026-04-03 12:52:38 393浏览 收藏

想让网站在深夜自动“休息”、清晨准时“醒来”?宝塔面板无需额外插件,仅通过内置计划任务就能轻松实现网站每日定时开关机——既支持简单粗暴的Nginx服务启停(适合单站),也提供更优雅的配置文件切换方案(通过301重定向至维护页,不中断其他站点服务),还附带详尽的日志验证方法确保每次执行都稳稳落地,无论你是运维新手还是进阶用户,都能快速上手、安全可控。

宝塔面板如何设置网站在凌晨自动关闭并在清晨开启?

如果您希望网站在每日凌晨自动关闭、清晨自动开启,宝塔面板可通过计划任务结合Web服务器控制命令实现。以下是具体操作步骤:

一、定时停止Nginx/Apache服务(关闭网站)

该方法通过在指定时间执行服务停止命令,使网站无法响应HTTP请求,达到“关闭”效果。适用于单站环境,多站共用同一Web服务时将导致全部站点不可访问。

1、登录宝塔面板,点击左侧菜单栏中的计划任务,进入任务管理界面。

2、点击左上角添加任务按钮,在弹出窗口中选择任务类型为Shell脚本

3、在脚本内容框中输入以下命令(以Nginx为例):
service nginx stop

4、在执行周期中设置关闭时间,例如每日凌晨2:00,填写Cron表达式:0 0 2 * * ?(注意:宝塔面板实际支持标准Linux Cron格式,此处应填0 0 2 * * *,即分 时 日 月 周 年,年位可留空或省略;宝塔界面中推荐使用0 0 2 * * *或界面选择“每天 2:00”)。

5、任务名称填写为凌晨关闭网站,点击添加任务保存。

二、定时启动Nginx/Apache服务(开启网站)

该方法在预设清晨时间重新启动Web服务,恢复网站对外访问能力。与关闭操作配对使用,确保服务状态可控且可逆。

1、再次点击添加任务,类型仍选Shell脚本

2、脚本内容填写启动命令(Nginx):
service nginx start

3、执行周期设为清晨6:00,Cron表达式填写:0 0 6 * * *(对应每天6:00)。

4、任务名称填写为清晨开启网站,点击添加任务保存。

三、通过301重定向模拟开关(无服务中断)

该方法不关停Web服务,而是通过动态启用/禁用Nginx重定向配置,将所有访问强制跳转至维护页面,实现“逻辑关闭”,避免影响其他共存站点及服务稳定性。

1、准备两个配置文件:一个为正常站点配置(如/www/server/panel/vhost/nginx/www.example.com.conf),另一个为301跳转至维护页的配置(如/www/server/panel/vhost/nginx/www.example.com.maint.conf)。

2、创建关闭网站脚本(保存为/www/shell/close_site.sh):
mv /www/server/panel/vhost/nginx/www.example.com.conf /www/server/panel/vhost/nginx/www.example.com.conf.bak
mv /www/server/panel/vhost/nginx/www.example.com.maint.conf /www/server/panel/vhost/nginx/www.example.com.conf
/etc/init.d/nginx reload

3、创建开启网站脚本(保存为/www/shell/open_site.sh):
mv /www/server/panel/vhost/nginx/www.example.com.conf /www/server/panel/vhost/nginx/www.example.com.maint.conf
mv /www/server/panel/vhost/nginx/www.example.com.conf.bak /www/server/panel/vhost/nginx/www.example.com.conf
/etc/init.d/nginx reload

4、在计划任务中分别添加两项Shell任务:一项执行/www/shell/close_site.sh,周期设为0 0 2 * * *;另一项执行/www/shell/open_site.sh,周期设为0 0 6 * * *

四、验证计划任务是否生效

宝塔面板的计划任务执行日志位于/www/server/panel/logs/cron.log,可用于确认脚本是否按时运行及是否存在报错。

1、在SSH终端中执行:
tail -f /www/server/panel/logs/cron.log

2、等待临近设定时间(如1:59),观察日志中是否出现对应任务的执行记录与返回码。

3、若日志显示exit_code=0,表示命令成功执行;若为非零值,需检查脚本路径、权限(chmod +x)、命令语法及服务名是否正确(如systemctl vs service)。

好了,本文到此结束,带大家了解了《宝塔面板网站自动开关机设置方法》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>