之前一直在群晖Docker使用宝塔,主要是省掉额外搭建服务器,一般用来测试测试网站什么的还挺好的,但是问题是,每次升级宝塔之后都会出现应用和配置文件丢失,于是,需要将官方的文件目录映射代码从
- -v ~/website_data:/www/wwwroot -v ~/mysql_data:/www/server/data -v ~/vhost:/www/server/panel/vhost
复制代码
改成
也就是将整个www目录做持久化,因为宝塔的一些配置文件、备份文件、日志文件全都是在www目录下的。
这样修改后,升级宝塔之后,配置文件都还在,安装的插件也都在,但是均无法运行,看了一下是因为init的启动脚本和配置脚本在etc目录下,升级宝塔后丢失,于是我让AI写了段代码,可以完美解决这个问题。
代码如下(代码由GeminiPro优化)
使用时可以保存为sh,在宝塔的面板里面手动运行,也可以像我这样加入计划任务,定时运行,都是可以的。
实测可以修复升级宝塔后出现的ngnix、mysql、redis、php、apache运行错误的问题,而无需卸载重新安装。
PS:宝塔的计划任务触发条件没有开机或重启选项,如果有开机或重启选项,每次重启宝塔面板自动运行这一段代码,基本就完美了,希望官方能够跟进一下。
|
|