python定时检查远程服务器内存
时间: 2023-08-27 09:05:36 浏览: 35
你可以使用Python的paramiko库连接到远程服务器,然后使用psutil库获取服务器的内存使用情况。关于定时检查,可以使用Python的sched或者APScheduler库来实现定时任务。以下是一个简单的示例代码:
```python
import paramiko
import psutil
import time
from apscheduler.schedulers.blocking import BlockingScheduler
# 连接远程服务器
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('your_server_ip', username='your_username', password='your_password')
# 获取内存使用情况
def check_memory():
stdin, stdout, stderr = ssh.exec_command('free -m')
output = stdout.read().decode()
lines = output.split('\n')
total_memory = int(lines[1].split()[1])
used_memory = int(lines[2].split()[2])
print('Total memory: {} MB'.format(total_memory))
print('Used memory: {} MB'.format(used_memory))
# 定时任务
scheduler = BlockingScheduler()
scheduler.add_job(check_memory, 'interval', minutes=10) # 每10分钟执行一次
scheduler.start()
# 关闭SSH连接
ssh.close()
```
这个示例代码会每隔10分钟执行一次`check_memory()`函数,该函数会连接到远程服务器并获取内存使用情况。你可以根据自己的需求调整定时任务的时间间隔。同时,你需要将`your_server_ip`、`your_username`和`your_password`替换成实际的远程服务器地址、用户名和密码。