gpt4 book ai didi

python - 使用python获取Linux中所有已挂载的文件系统的列表

转载 作者:行者123 更新时间:2023-11-30 22:40:34 24 4
gpt4 key购买 nike

我计划使用 Shell、Python 中的一组脚本来自动化 Linux 中的文件系统清理过程,并且我将使用 Node.js 创建一个简单的仪表板,以实现更直观的方法。

我在 Shell 中有一个脚本,它已经清理了特定服务器中的文件系统 - 但我必须登录然后发出此命令。现在,我正在使用 HTML/CSS/JS 中的仪表板来可视化所有存在空间问题的服务器。

我的想法是:创建一个 Python 脚本来登录并获取文件系统列表及其使用情况并更新单个 JSON 文件,然后,我的仪表板使用此 JSON 来显示屏幕。

我的问题是如何获取Linux中的文件系统列表及其使用情况?

最佳答案

要远程连接到 ssh 并检索包含文件系统和使用情况的列表,您可以使用 paramiko SSH 客户端和 df 命令,如下所示:

使用 pip 问题安装 paramiko:

sudo pip install paramiko

应该默认安装正则表达式模块

import paramiko, re

server = "your_server_ip_or_name"
username = "your_ssh_user"
password = "your_ssh_password"

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("df")

filesystems = []
for line in ssh_stdout.readlines()[1:]:
line = re.sub('\s+', ' ', line).strip()
parameters = line.split(' ')
usage_percent = re.findall(r'\d+', parameters[4])
filesystems.append({'name' : parameters[0], 'usage' : usage_percent[0]})

print filesystems

它将生成一个包含键名称和用法的字典列表,如下例所示:

[{'usage': u'17%', 'name': u'/dev/root'}, {'usage': u'0%', 'name': u'devtmpfs'}, {'usage': u'0%', 'name': u'tmpfs'}, {'usage': u'9%', 'name': u'tmpfs'}, {'usage': u'1%', 'name': u'tmpfs'}, {'usage': u'0%', 'name': u'tmpfs'}, {'usage': u'31%', 'name': u'/dev/mmcblk0p6'}, {'usage': u'0%', 'name': u'tmpfs'}]

关于python - 使用python获取Linux中所有已挂载的文件系统的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com