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

bash 腳本編程十八 Keepalived自動部署

緊接手工部署Keepalived的文章http://www.linuxidc.com/Linux/2012-09/70889.htm,這次來自動部署。

建立keepalived目錄,裡面已經存放了下載並解壓的keepalived-1.2.7目錄,包括和用於作為系統服務的keepalived腳本

注意,是前面一文修改過後能用於Ubuntu的版本。

install.sh腳本內容:

  1. #!/bin/bash   
  2.   
  3. source ../common/tool.sh  
  4.   
  5. libssl="libssl-dev"  
  6. openssl="openssl"  
  7. popt="libpopt-dev"  
  8. daemonService="daemon"  
  9.   
  10. installDpkg $libssl  
  11. installDpkg $openssl  
  12. installDpkg $popt  
  13. installDpkg $daemonService  
  14.   
  15. cd keepalived-1.2.7  
  16. ./configure --prefix=/usr  
  17. make  
  18. make install  
  19.   
  20. cd ..  
  21.   
  22. cp ./keepalived /etc/init.d/  
  23. cd /etc/init.d/  
  24.   
  25. update-rc.d keepalived start 21 2 3 4 5 . stop 21 0 1 6 .  
  26. #update-rc.d keepalived default  
  27.   
  28. createFolder "/var/lock/subsys"  
  29. cd -  
  30. make clean  
  31.   
  32. service keepalived start  
裡面使用了一個新的函數installDpkg,定義在tool.sh腳本中:
  1. #$1 dpkg name  
  2. function installDpkg {  
  3.     hasDpkg $1  
  4.     r=$?  
  5.       
  6.     if [ $r -eq 1 ]  
  7.     then  
  8.     echo "$1 was installed"  
  9.     else  
  10.     echo "$1 was not installed, installing..."  
  11.     apt-get install $1  
  12.     fi  
  13. }  
keepalived的目錄結構如下:
  1. keepalived# tree -L 2  
  2. .  
  3. ├── install.sh  
  4. ├── install.sh~  
  5. ├── keepalived  
  6. ├── keepalived~  
  7. └── keepalived-1.2.7  
  8.     ├── AUTHOR  
  9.     ├── bin  
  10.     ├── ChangeLog  
  11.     ├── config.log  
  12.     ├── config.status  
  13.     ├── configure  
  14.     ├── configure.in  
  15.     ├── CONTRIBUTORS  
  16.     ├── COPYING  
  17.     ├── doc  
  18.     ├── genhash  
  19.     ├── INSTALL  
  20.     ├── install-sh  
  21.     ├── keepalived  
  22.     ├── keepalived.spec  
  23.     ├── keepalived.spec.in  
  24.     ├── lib  
  25.     ├── Makefile  
  26.     ├── Makefile.in  
  27.     ├── README  
  28.     ├── TODO  
  29.     └── VERSION  
  30.   
  31. 6 directories, 21 files  
Copyright © Linux教程網 All Rights Reserved