如何从 fstab 中识别 UUID conf 或普通 dev conf

如何从 fstab 中识别 UUID conf 或普通 dev conf

我们需要在超过 100 台 redhat 机器上添加磁盘,

因此我们还需要更新/etc/fstab每台机器上的

问题是有些机器在 fstab 中配置了 UUID,而其他机器则配置了普通 dev

所以我想制作一个 bash 脚本来识别 fstab 配置,如下所示

  1. 如果 fstab 配置了 UUID,则为每个附加磁盘添加新的 UUID 行
  2. 如果 fstab 配置为普通 dev,则为每个附加磁盘添加新的 dev 行

所以我的问题是 - 识别 fstab UUID 或普通 dev 中配置的最佳方法是什么?

备注 - 不包括操作系统,我们这里仅讨论硬件机器中的附加磁盘

这是 fstab 中具有 UUID conf 的 linux 机器的示例

/dev/mapper/vg00-loov_root /                    xfs     defaults      00 
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot                   xfs     
defaults        0 0
/dev/mapper/vg00-loov_var /var                    xfs     defaults       00 
/dev/mapper/vg00-loov_swap swap                    swap    defaults      00 
UUID="fcb73644-4ad3-4b19-85f8-dbb9ed53a871"   /data/sdb                       
ext4 defaults,noatime 0 0
UUID="5f56c1d6-266f-4ea2-a8f7-df06f08e01c0"   /data/sdc                       
ext4 defaults,noatime 0 0
UUID="4c908671-4045-41e8-a396-a5198978e3ac"   /data/sdd                       
ext4 defaults,noatime 0 0
UUID="d44fe62a-72dc-4674-91ac-5a1962797e22"   /data/sde                       
ext4 defaults,noatime 0 0
UUID="ee3d8fa8-e000-4abb-a26c-da99499e630c"   /data/sdf                       
ext4 defaults,noatime 0 0
UUID="61e9e16f-eb49-4c97-aaf0-0ed2dc3f3007"   /data/sdg                       
ext4 defaults,noatime 0 0
UUID="ada12394-0e0b-4657-a148-d85548d7bc75"   /data/sdh                       
ext4 defaults,noatime 0 0

答案1

您可能必须更准确地定义什么算作 UUID 配置。

如果通过 UUID 安装单个卷就足够了,那么您可以简单地使用

if grep -q '^\s*UUID=' /etc/fstab; then
    :
else
    :
fi

相关内容