对于200台主机上的某些卷组,禁用fstab中的fsck

时间:2015-03-15 14:41:18

标签: php regex bash shell

我的环境要求检查 / 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做到这一点?

更新:创建了一个Shell脚本来查找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 !!!

但是,结果重复,有没有办法消除重复的结果?

1 个答案:

答案 0 :(得分:0)

将datavg替换为appvg。

哦,并发布您的设备是什么,所以我们不买它。这是一个坏主意。