Files
aaPanel/class/safe_warning/sw_database_backup.py
T
bt.cn d2a66661db Add panel SSL own certificate to fill in the entry
Fixed known bugs
Panel Feature Modification

Points to note after updating the panel:
1. The default port of the panel is changed to 7800
(Port 8888 has been flooded)
2. Panel entry error will prompt 404
3. After the panel is bound to the domain name,
if the domain access is not used,it will return 401
4. After the panel is set to authorize IP access,
other IP access panels will return 401
5. The website welcome page is changed to the nginx welcome page
6. Change the stop page to Nginx 404 page
2022-01-18 18:01:37 +08:00

57 lines
2.0 KiB
Python

#!/usr/bin/python
#coding: utf-8
# -------------------------------------------------------------------
# 宝塔Linux面板
# -------------------------------------------------------------------
# Copyright (c) 2015-2099 宝塔软件(http://bt.cn) All rights reserved.
# -------------------------------------------------------------------
# Author: hwliang <hwl@bt.cn>
# -------------------------------------------------------------------
# -------------------------------------------------------------------
# 数据库备份检测
# -------------------------------------------------------------------
import os,sys,re,public
_title = 'Database backup'
_version = 1.0 # 版本
_ps = "Checks whether all databases are set up for periodic backup" # 描述
_level = 2 # 风险级别: 1.提示(低) 2.警告(中) 3.危险(高)
_date = '2020-08-04' # 最后更新时间
_ignore = os.path.exists("data/warning/ignore/sw_database_backup.pl")
_tips = [
"On the [ Cron ] page, set the database that is not backed up, or set all databases to be backed up",
"Tip: if the database is not set up for regular backup, once the data is lost accidentally and cannot be recovered, the loss will be huge"
]
_help = ''
def check_run():
'''
@name 开始检测
@author hwliang<2020-08-03>
@return tuple (status<bool>,msg<string>)
'''
if public.M('crontab').where('sType=? AND sName=?',('database','ALL')).count():
return True,'Risk-free'
db_list = public.M('databases').field('name').select()
not_backups = []
sql = public.M('crontab')
for db in db_list:
if sql.where('sType=? AND sName=?',('database',db['name'])).count():
continue
not_backups.append(db['name'])
if not_backups:
return False ,'The following databases are not set up for regular backup: <br />' + ('<br />'.join(not_backups))
return True,'Risk-free'