首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python获取Linux中所有已挂载文件系统的列表。

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

Stack Overflow用户
提问于 2017-03-18 10:34:15
回答 2查看 1.7K关注 0票数 2

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

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

我的想法是:创建一个Python脚本来登录,获取文件系统及其使用的列表,并更新一个JSON文件,然后,我的仪表板使用这个JSON来为屏幕提供信息。

我的问题是如何获得Linux中的文件系统列表及其用法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-18 11:41:38

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

使用pip问题安装paramiko:

代码语言:javascript
复制
sudo pip install paramiko

应该默认安装regex模块。

代码语言:javascript
复制
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

它将产生一个字典列表,其中包含键名和用法,如本例中所示:

代码语言:javascript
复制
[{'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'}]
票数 3
EN

Stack Overflow用户

发布于 2017-03-18 12:24:49

您可以使用命令

df

提供一个选项,使用‘-h’以人类可读的格式(例如,1K1M1G)显示大小。这是最常见的命令,但也可以检查dudi。事实上,di提供了比df更多的信息。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42873222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档