我必须在我的工作中编写 python 脚本。我的脚本必须打印满足某些条件的所有设备。其中一个条件是超级块。设备必须有超级块。
其他条件:
- 未安装任何分区 - 完成
- 任何分区都不在raid中 - 完成
- uuid 不在 fstab 中 - 完成
- arr uuid 在 mdadm.conf 中 - 完成
- 设备有超级块 - ?????
有人知道怎么做吗?我不得不承认我没有。没有必要通过python来管理它。有什么方法可以检查吗?:)
非常感谢。
我必须在我的工作中编写 python 脚本。我的脚本必须打印满足某些条件的所有设备。其中一个条件是超级块。设备必须有超级块。
其他条件:
有人知道怎么做吗?我不得不承认我没有。没有必要通过python来管理它。有什么方法可以检查吗?:)
非常感谢。
您可以 grep dumpe2fs device_name
for exists of "superblock at"的输出。
这是我的 Centos 5 linux 系统上的示例:
>>> import shlex, subprocess
>>> filesystems = ['/dev/mapper/VolGroup00-LogVol00', '/dev/vda1', 'tmpfs']
>>> for fs in filesystems:
... command = '/sbin/dumpe2fs ' + fs
... p = subprocess.Popen(shlex.split(command),stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
... output = p.communicate()[0]
... if 'superblock at' in output:
... print "{fs} has superblock".format(fs=fs)
... else:
... print "No superblock found for {fs}".format(fs=fs)
...
/dev/mapper/VolGroup00-LogVol00 has superblock
/dev/vda1 has superblock
No superblock found for tmpfs
有关dumpe2fs的更多信息: