歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

bash 腳本編程十七 NFS client自動部署

1.自動檢測並安裝nfs-common,

2.自動創建目錄並mount

3.同時檢查/etc/fstab文件中是否有配置,沒有則加入。確保下次開機能自動mount。

install.sh腳本:

  1. #!/bin/bash   
  2.   
  3. source ../../common/tool.sh  
  4.   
  5. nfsClient="nfs-common"  
  6. nfsServerFolder=10.112.18.158:/opt/share  
  7. nfsClientFolder=~/test_nfs_dir  
  8.   
  9. hasDpkg $nfsClient  
  10. r=$?  
  11.   
  12. if [ $r -eq 1 ]  
  13. then  
  14.     echo "$nfsClient was installed"  
  15. else  
  16.     echo "$nfsClient was not installed"  
  17.     apt-get install $nfsClient  
  18. fi  
  19.   
  20.   
  21. #config /opt/share as nfs folder  
  22. createFolder $nfsClientFolder  
  23. mount -t nfs4 $nfsServerFolder $nfsClientFolder  
  24.   
  25. mountString="$nfsServerFolder $nfsClientFolder nfs rsize=8192,wsize=8192,timeo=14,intr"  
  26. searchString="$nfsServerFolder"  
  27. mountConfigFile="/etc/fstab"  
  28.   
  29. findStringInFile $searchString $mountConfigFile  
  30. m=$?  
  31.   
  32. if [ $m -eq 1 ]  
  33. then  
  34.     echo "auto mount was configured"  
  35. else  
  36.     echo "auto mount was not configured, configuring..."  
  37.     echo $mountString >> $mountConfigFile  
  38. fi  

這裡用了一個新函數: findStringInFile

這個新函數放在tool.sh腳本中:

  1. #$1 search string  
  2. #$2 file path  
  3. #return 1 if found  
  4. #return 0 if not found  
  5. function findStringInFile {  
  6.     h=`grep "$1" $2`  
  7.     echo "h: $h"  
  8.     if [ -n "$h" ]  
  9.     then  
  10.     return 1  
  11.     else  
  12.     return 0  
  13.     fi  
  14. }  
Copyright © Linux教程網 All Rights Reserved