実行中のシステムのマウントポイントを確認して確認するために、Webから次のサンプルスクリプトをインポートしました。
質問:/etc/fstab
コメントアウトされていない既存のマウントポイントを比較して強調したいです。もし彼らはそこにいます。
そして、もし他の解決策があるかどうか見てみたいです!
#!/bin/bash
while read ip;
do
echo "connecting to $ip";
ssh root@$ip "until mount | grep -w \"/mnt/data\" >/dev/null;
do echo mounting \"/mnt/data\"; mount \"/mnt/data\"; sleep 1; done &&
echo Mounted on $ip"
done < ips.txt
答え1
これはトリックを行うようです
#!/bin/bash
mountpoints=( $(awk '$1 !~ /^#/ && $2 ~ /^[/]/ {print $2}' /etc/fstab) )
for mount in ${mountpoints[@]}; do
if ! findmnt "$mount" &> /dev/null; then
echo "$mount is declared in fstab but not mounted"
fi
done
答え2
DopeGhotiで借りることでawk
、以下を使用できますcomm
。
マウントされたが /etc/fstab にはないファイルシステム:
comm -23 <(mount|awk '{print $3}'|sort) <(awk '$1 !~ /^#/ && $2 ~ /^[/]/ {print $2}' /etc/fstab|sort)
/etc/fstab にあるがマウントされていないファイルシステム:
comm -13 <(mount|awk '{print $3}'|sort) <(awk '$1 !~ /^#/ && $2 ~ /^[/]/ {print $2}' /etc/fstab|sort)