使用pushplus推送(pushplus(推送加)-微信消息推送平台),可用于青龙面板执行,定时推送。
import subprocess
import requests
def push_message(title, content):
# PushPlus API Token
api_token = 'yourapitoken'
# PushPlus请求URL
url = 'http://www.pushplus.plus/send'
# 发送POST请求
data = {
"token": api_token,
"title": title,
"content": content
}
try:
response = requests.post(url, json=data)
if response.status_code == 200:
print("消息推送成功")
else:
print("消息推送失败")
except requests.exceptions.RequestException as e:
print("消息推送出错:", e)
# 获取 CPU 温度
def get_cpu_temperature():
result = subprocess.run(['cat', '/sys/class/thermal/thermal_zone0/temp'], capture_output=True, text=True)
temperature = int(result.stdout.strip()) / 1000.0
return temperature
# 获取内存使用情况
def get_memory_usage():
memory_usage = subprocess.check_output("free | grep Mem | awk '{print $3/$2 * 100.0}'", shell=True).decode().strip()
total_memory = subprocess.check_output("free -h | grep Mem | awk '{print $2}'", shell=True).decode().strip()
available_memory = subprocess.check_output("free -h | grep Mem | awk '{print $7}'", shell=True).decode().strip()
return f"总内存:{total_memory}\n可用内存:{available_memory}\n内存使用率:{memory_usage}%"
# 获取电池电量
def get_battery_percentage():
result = subprocess.run(['cat', '/sys/class/power_supply/smb1360-battery/capacity'], capture_output=True, text=True)
percentage = int(result.stdout.strip())
return percentage
# 主函数
def main():
cpu_temperature = get_cpu_temperature()
memory_usage = get_memory_usage()
battery_percentage = get_battery_percentage()
message_title = "系统状态"
message_content = f"CPU温度:{cpu_temperature} °C\n内存使用情况:\n{memory_usage}\n电池电量:{battery_percentage}%"
push_message(message_title, message_content)
# 调用主函数
if __name__ == '__main__':
main()