我们需要在超过 100 台 redhat 机器上添加磁盘,
因此我们还需要更新/etc/fstab
每台机器上的
问题是有些机器在 fstab 中配置了 UUID,而其他机器则配置了普通 dev
所以我想制作一个 bash 脚本来识别 fstab 配置,如下所示
- 如果 fstab 配置了 UUID,则为每个附加磁盘添加新的 UUID 行
- 如果 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