Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # ipvsadm Manageѕ ipvsadm daemon
  4. #
  5. ### BEGIN INIT INFO
  6. # Provides: ipvsadm
  7. # Required-Start: $network
  8. # Required-Stop: $network
  9. # Default-Start: 2 3 4 5
  10. # Default-Stop: 0 1 6
  11. # Description: Starts ipvsadm daemon
  12. # short-description: ipvsadm daemon
  13. ### END INIT INFO
  14.  
  15. #includes lsb functions
  16. . /lib/lsb/init-functions
  17.  
  18. IPVSADM="/sbin/ipvsadm"
  19. IPVSADM_RULES="/etc/ipvsadm.rules"
  20. IPVSADM_CONFIG="/etc/default/ipvsadm"
  21. SYNCID="0"
  22.  
  23. AUTO="false"
  24. DAEMON="none" # none|master|backup|both
  25. IFACE="eth0"
  26. FAILURE=0
  27.  
  28. start () {
  29. case $DAEMON in
  30. master|backup)
  31. log_daemon_msg "Starting IPVS Connection Synchronization Daemon" "$DAEMON"
  32. $IPVSADM --start-daemon $DAEMON --mcast-interface \
  33. $IFACE --syncid $SYNCID || log_end_msg 1
  34. log_end_msg 0
  35. ;;
  36. both)
  37. log_daemon_msg "Starting IPVS Connection Synchronization Daemon" "master"
  38. $IPVSADM --start-daemon master --mcast-interface \
  39. $IFACE --syncid $SYNCID || FAILURE=1
  40. log_progress_msg "backup"
  41. $IPVSADM --start-daemon backup --mcast-interface \
  42. $IFACE --syncid $SYNCID || FAILURE=1
  43. if [ "$FAILURE" -eq 1 ]
  44. then
  45. log_end_msg 1
  46. else
  47. log_end_msg 0
  48. fi
  49. ;;
  50. *)
  51. log_action_msg "ipvsadm is not configured to run. Please edit /etc/default/ipvsadm"
  52. ;;
  53. esac
  54. }
  55.  
  56. stop () {
  57. case $DAEMON in
  58. master|backup)
  59. log_daemon_msg "Stopping IPVS Connection Synchronization Daemon" "$DAEMON"
  60. $IPVSADM --stop-daemon $DAEMON || log_end_msg 1
  61. log_end_msg 0
  62. ;;
  63. both)
  64. log_daemon_msg "Stopping IPVS Connection Synchronization Daemon" "master"
  65. $IPVSADM --stop-daemon master || FAILURE=1
  66. log_progress_msg "backup"
  67. $IPVSADM --stop-daemon backup || FAILURE=1
  68. if [ "$FAILURE" -eq 1 ]
  69. then
  70. log_end_msg 1
  71. else
  72. log_end_msg 0
  73. fi
  74. ;;
  75. *)
  76. log_action_msg "ipvsadm is not configured to run. Please run dpkg-reconfigure ipvsadm"
  77. ;;
  78. esac
  79. }
  80.  
  81. flush () {
  82. log_action_begin_msg "Clearing the current IPVS table"
  83. ipvsadm -C || log_action_end_msg 1
  84. log_action_end_msg 0
  85. }
  86.  
  87. load () {
  88. log_action_begin_msg "Loading IPVS configuration"
  89. grep -v "^#" $IPVSADM_RULES | $IPVSADM -R || log_action_end_msg 1
  90. log_action_end_msg 0
  91. }
  92.  
  93. save () {
  94. log_action_begin_msg "Saving IPVS configuration"
  95. echo "# ipvsadm.rules" > $IPVSADM_RULES
  96. $IPVSADM -S -n >> $IPVSADM_RULES
  97. log_action_end_msg 0
  98. }
  99.  
  100. if [ -f $IPVSADM_CONFIG ]; then
  101. . $IPVSADM_CONFIG
  102. fi
  103.  
  104. if [ ! -x $IPVSADM ]; then
  105. exit 0
  106. fi
  107.  
  108. if [ ! -f $IPVSADM_RULES ]; then
  109. echo "# ipvsadm.rules" > $IPVSADM_RULES
  110. fi
  111.  
  112. case "$1" in
  113. start)
  114. if [ "$AUTO" = "true" ]; then
  115. flush
  116. load
  117. fi
  118. start
  119. ;;
  120. stop)
  121. stop
  122. if [ "$AUTO" = "true" ]; then
  123. flush
  124. fi
  125. ;;
  126. restart)
  127. stop
  128. if [ "$AUTO" = "true" ]; then
  129. flush
  130. load
  131. fi
  132. start
  133. ;;
  134. reload|force-reload)
  135. if [ "$AUTO" = "true" ]; then
  136. flush
  137. load
  138. fi
  139. ;;
  140. status)
  141. ipvsadm -L -n
  142. ;;
  143. rate)
  144. ipvsadm -L --rate -n
  145. ;;
  146. load)
  147. flush
  148. load
  149. ;;
  150. save)
  151. save
  152. ;;
  153. *)
  154. echo "Usage: $0
  155. {start|stop|restart|status|rate|load|save|reload|force-reload}"
  156. exit 1
  157. ;;
  158. esac
  159.  
  160. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement