在 fstab 中为 200 台主机上的某些卷组禁用 fsck


Disable fsck in fstab for certain volume groups on 200 hosts

在我的环境中需要检查 /etc/fstab 文件并将最后一个选项更改为"0 0"。

例:

dev/datavg/ICC_ESB     /opt/data/ICC_ESB       ext3    defaults **1 1**

dev/datavg/ICC_ESB     /opt/data/ICC_ESB       ext3    defaults **0 0**

但棘手的是,更改只需要对datavg或appvg进行。在我们的环境中,我们确实有rootvg和appvg。

例:

#### OS FS' should remain asis "1 1" untouched ##### 
/dev/rootvg/rootvol     /       ext3    defaults 1 1 
/dev/rootvg/usrvol      /usr    ext3    defaults 1 1 
/dev/rootvg/varvol      /var    ext3    defaults 1 1 
/dev/rootvg/optvol      /opt    ext3    defaults 1 1 
/dev/rootvg/tmpvol      /tmp    ext3    defaults 1 1 
/dev/rootvg/homevol     /home   ext3    defaults 1 1 
<小时 />
#### But ALL the app/data FS's should be confirmed to have fsck turned off "**0 0**" ####
/dev/datavg/ICC_ESB     /opt/data/ICC_ESB       ext3    defaults 0 0 
/dev/datavg/InBox       /opt/data/InBox         ext3    defaults 0 0 
/dev/datavg/Pvds_Rma    /opt/data/Pvds_Rma      ext3    defaults 0 0 
/dev/datavg/Tivoli      /opt/data/Tivoli        ext3    defaults 0 0 
/dev/datavg/WASPShared  /opt/data/WASPShared    ext3    defaults 0 0 
/dev/datavg/WASSTShared /opt/data/WASSTShared   ext3    defaults 0 0 
/dev/datavg/WASUTShared /opt/data/WASUTShared   ext3    defaults 0 0

到目前为止,我已经尝试过:

sed -e 's/^..//' -e 's/..$//' /etc/fstab > /etc/fstab-changes 

我尝试删除 fstab 中的最后几行,并手动编辑 fstab。

但我有 200 多台服务器要做。也许有人可以帮助我用 sed 或 awk 来做到这一点?

更新:创建了一个外壳脚本来查找 FSCK 选项。

#!/bin/bash
for i in $(cat /etc/fstab | grep -v 'proc'|sda'|rootvg'|sysfs'|debugfs'|fd0'|.host'|nfshome:'|devpts' | awk '{print $6}') ; do
for n in $(cat /etc/fstab | grep -v 'proc'|sda'|rootvg'|sysfs'|debugfs'|fd0'|.host'|nfshome:'|devpts' | awk '{print $1}') ; do
if [[ "$i" != "0" ]] ; then
        echo "$n = FSCK check on NON-OS Filesystem ERROR !!!"
else
        echo "The Non OS Partiton FSCK Complted Successfully !!!"
fi
done
done

Output:
/dev/repovg/lvol1 = FSCK check on NON-OS Filesystem ERROR !!!
/dev/appvg/appvol-os = FSCK check on NON-OS Filesystem ERROR !!!
/dev/TEST12/TEST12 = FSCK check on NON-OS Filesystem ERROR !!!
/dev/repovg/lvol1 = FSCK check on NON-OS Filesystem ERROR !!!
/dev/appvg/appvol-os = FSCK check on NON-OS Filesystem ERROR !!!
/dev/TEST12/TEST12 = FSCK check on NON-OS Filesystem ERROR !!!
/dev/repovg/lvol1 = FSCK check on NON-OS Filesystem ERROR !!!
/dev/appvg/appvol-os = FSCK check on NON-OS Filesystem ERROR !!!
/dev/TEST12/TEST12 = FSCK check on NON-OS Filesystem ERROR !!!

但是,结果是重复的,有什么办法可以消除重复的结果吗?

将 datavg 替换为 appvg。

哦,并发布您的设备是什么,这样我们就不会购买它。这是个坏主意。