File size: 2,274 Bytes
08c964e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | import os,sys,time
panel_path = '/www/server/panel'
os.chdir(panel_path)
sys.path.append('class')
sys.path.insert(0, panel_path)
import public
# 检查是否有其他进程在运行
pidfile = '/tmp/panel_daily.pid'
if os.path.exists(pidfile):
pid = public.readFile(pidfile)
proc_stat_file = '/proc/{}/stat'.format(pid)
if os.path.exists(proc_stat_file):
public.print_log('daily.py is running')
sys.exit()
# 写入PID文件
public.writeFile(pidfile, str(os.getpid()))
from pluginAuth import Plugin
plugin_obj = Plugin(False)
plugin_list = plugin_obj.get_plugin_list()
if plugin_list["ltd"] < 0 and plugin_list["pro"] < 0:
sys.exit(0)
from panelDaily import panelDaily
pd = panelDaily()
pd.check_databases()
# 日报数据收集
start_daily_file = os.path.join(panel_path, 'data/start_daily.pl')
if os.path.exists(start_daily_file):
try:
t_now = time.localtime()
yesterday = time.localtime(time.mktime((
t_now.tm_year, t_now.tm_mon, t_now.tm_mday - 1,
0, 0, 0, 0, 0, 0
)))
yes_time_key = pd.get_time_key(yesterday)
store_app_usage_file = os.path.join(panel_path, 'data/store_app_usage.pl')
con = public.ReadFile(store_app_usage_file)
# self.write_log(str(con))
store = False
if con:
if con != str(yes_time_key):
store = True
else:
store = True
if store:
date_str = str(yes_time_key)
pd.store_app_usage(yes_time_key)
pd.check_server()
daily_data = pd.get_daily_data_local(date_str)
if "status" in daily_data.keys():
if daily_data["status"]:
score = daily_data["score"]
if public.M("system").dbfile("system").table("daily").where("time_key=?", (yes_time_key,)).count() == 0:
public.M("system").dbfile("system").table("daily").add("time_key,evaluate,addtime", (yes_time_key, score, time.time()))
public.WriteFile(store_app_usage_file, str(yes_time_key), "w")
except Exception as e:
public.print_log("存储应用空间信息错误:" + str(e))
# 删除PID文件
if os.path.exists(pidfile):
os.remove(pidfile) |