作者: 薄荷冰           Linux基础  |  网站架构  |  数据库  |  监控报警  |  shell系列  |  常用工具  |  常见问题


 

导航

 
#!/bin/bash
############################################################
# $Name:         install_sevice.sh
# $Version:      v1.0
# $Functions:
#
#        1  Install    mage_monitor_01    service
#        2  Install    store_rsync_01     service
#        3  Install    store_nfs_01       service
#        4  Install    mysql_master_01    service
#        5  Install    mysql_master_02    service
#        6  Install    mysql_slave_01     service
#        7  Install    mysql_proxy_01     service
#        8  Install    mysql_proxy_02     service
#        9  Install    cache_redis_01     service
#        10 Install    cache_redis_02     service
#        11 Install    lb_haproxy_01      service
#        12 Install    lb_haproxy_02      service
#        13 Install    web_lnmp_01        service
#        14 Install    web_lamp_02        service
#        15 Install    mage_jump_01       service
#
# $Author:       Jeson Li
# $organization: www.lzbbg.cn
# $Create Date:  2017-03-10
# $Mail:         libobin@tom.com
# $Description:  Linux Service Installing Script
############################################################
if [ -f /tmp/install_service.lock ];then
    echo -e "${Red}[`date +%F_%T`] $0 is running now and exit${Rst}"|tee -a /tmp/install_service.log
    exit 1
 else
    touch /tmp/install_service.lock
 fi
source /etc/rc.d/init.d/functions
source /tmp/scripts/system_optimization.lib
[ $(ulimit -n) -lt 65535 -a -s /etc/issue ] && optimization_main
source /tmp/scripts/install_service.lib
source /tmp/scripts/rsync_backup.lib
source /tmp/scripts/zabbix_json.lib
# System env check
env_check

# Install mage_monitor_01 service
[  "$(hostname)" == "${mage_monitor_01}" ] && {
    function_install_nginx "nginx-1.12.2.tar.gz"
    function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
    function_install_php  "libiconv-1.14.tar.gz" "php-5.6.35.tar.gz"
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent' '--enable-server'
    source /tmp/scripts/zabbix_json.lib
    function_hostgroup_create "${lb_server}" "${web_server}" "${mysql_server}" "${store_server}" "${cache_server}" "${mage_server}"
    echo -en "${Ylw}${Tik}Please login to zabbix_web manually import templates and press enter next step.${Rst}";read
    function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status" "Template Nginx Status"
    function_httptest_create 'http://zabbix.lzbbg.cn'
    function_client_rsync_backup
    function_net_ipv4_ip_forward_eth1
    function_create_Springboard
 }

# Install store_rsync_01 service
[  "$(hostname)" == "${store_rsync_01}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status"
#   function_install_nfs '/{nfs_data/,backup/{mysql-master-01.mysql_bin,mysql-master-02.mysql_bin,mysql-slave-01.mysql_bin}}'
    function_install_nfs '/nfs_data/{uploads,attachment}'
    function_install_keepalived 'BACKUP' 'nfs_service01' 'nfs' 'eth0' '51' '172.16.1.32'
    function_server_rsyncd_backup
    function_ifdown_eth1
 }

# Install store_nfs_01 service
[  "$(hostname)" == "${store_nfs_01}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status"
    function_install_nfs '/nfs_data/{uploads,attachment}'
    function_install_keepalived 'MASTER' 'nfs_service02' 'nfs' 'eth0' '51' '172.16.1.32'
    function_install_sersync
    function_client_rsync_backup
    function_ifdown_eth1
 }

# Install mysql_master_01 service
[  "$(hostname)" == "${mysql_master_01}" ] && {
    function_install_drbd
    function_install_heartbeat
    function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
    function_install_mysql_db "ShareDB"
    function_create_mysql_user_database 'ShareDB' "blog jpress" "rep" "" "123456"
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status"
    function_client_rsync_backup
    function_ifdown_eth1
 }

# Install mysql_master_02 service
[  "$(hostname)" == "${mysql_master_02}" ] && {
    function_install_drbd
    function_install_heartbeat
    function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz"
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status"
    function_client_rsync_backup
    function_ifdown_eth1
 }

# Install mysql_slave_01 service
[  "$(hostname)" == "${mysql_slave_01}" ] && {
    function_install_mysql "mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz" '2'
    function_install_mysql_db "slave01" '' '' 'slave' ;sleep 5
    function_install_mysql_db "slave02" '' '' 'slave' ;sleep 5
    function_install_mysql_db "slave03" '' '' 'slave' 'backup_slave'
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Percona MySQL Server" "Template Linux TCP Status"
    function_client_rsync_backup
    function_ifdown_eth1
 }

# Install mysql_proxy_01 service
[  "$(hostname)" == "${mysql_proxy_01}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status"
    function_client_rsync_backup
    function_install_mysql_proxy 'mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz' '3306 3307' 'dbmaster_vip.lzbbg.cn:3301' 'dbslave01.lzbbg.cn:3302,dbslave01.lzbbg.cn:3303'
    function_install_keepalived 'MASTER' 'mysql_proxy_service01' 'mysql_proxy_01 mysql_proxy_02' 'eth0' '52' '172.16.1.56'
    function_ifdown_eth1
 }

# Install mysql_proxy_02 service
[  "$(hostname)" == "${mysql_proxy_02}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status"
    function_client_rsync_backup
    function_install_mysql_proxy 'mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz' '3306 3307' 'dbmaster_vip.lzbbg.cn:3301' 'dbslave01.lzbbg.cn:3302,dbslave01.lzbbg.cn:3303'
    function_install_keepalived 'BACKUP' 'mysql_proxy_service02' 'mysql_proxy_01 mysql_proxy_02' 'eth0' '52' '172.16.1.56'
    function_ifdown_eth1
 }

# Install cache_redis_01 service
[  "$(hostname)" == "${cache_redis_01}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status"
    function_client_rsync_backup
    function_install_redis "6379 6380"
    function_install_keepalived 'MASTER' 'redis_service01' 'redis' 'eth0' '55' '172.16.1.63' 'cache-redis-02' '6380'
    function_ifdown_eth1
 }

# Install cache_redis_02 service
[  "$(hostname)" == "${cache_redis_02}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status"
    function_client_rsync_backup
    function_install_redis "6379 6380"
    function_install_keepalived 'BACKUP' 'redis_service02' 'redis' 'eth0' '55' '172.16.1.63' 'cache-redis-01' '6380'
    function_ifdown_eth1
 }

# Install lb_haproxy_01 service
[  "$(hostname)" == "${lb_haproxy_01}" ] && {
    function_install_proxy
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status" 
    function_client_rsync_backup
    function_install_keepalived 'MASTER' 'lb_service01' 'lb' 'eth1' '58' '10.0.0.5'
 }

# Install lb_haproxy_02 service
[  "$(hostname)" == "${lb_haproxy_02}" ] && {
    function_install_proxy
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status" 
    function_client_rsync_backup
    function_install_keepalived 'BACKUP' 'lb_service02' 'lb' 'eth1' '58' '10.0.0.5'
 }

# Install web_lnmp_01 service
[  "$(hostname)" == "${web_lnmp_01}" ] && {
    function_install_nginx "nginx-1.12.2.tar.gz"
    function_install_wordpress "blog" "wordpress-4.9.4-zh_CN.tar.gz"
    function_install_phpMyAdmin "phpMyAdmin" "phpMyAdmin-4.8.3-all-languages.tar.gz"
    function_install_php  "libiconv-1.14.tar.gz" "php-5.6.35.tar.gz" "php_redis_plugin.tar.gz"
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status" 
    function_httptest_create 'http://blog.lzbbg.cn http://phpMyAdmin.lzbbg.cn http://jpress.lzbbg.cn'
    function_client_rsync_backup
    function_install_tomcat 'apache-tomcat-8.5.34.tar.gz' '8081 8082 8083' 'jpress' 'jpress-web-newest.war'
    function_create_java_jpress 'jpress-web-newest.war'
    function_ifdown_eth1
 }

# Install web_lamp_02 service
[  "$(hostname)" == "${web_lamp_02}" ] && {
    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
    function_host_create "Template OS Linux" "Template Linux TCP Status" "Template Nginx Status" 
    function_httptest_create 'http://blog.lzbbg.cn http://phpMyAdmin.lzbbg.cn http://jpress.lzbbg.cn'
    function_install_httpd "httpd-2.4.33.tar.gz"
    function_install_php  "libiconv-1.14.tar.gz" "php-5.6.35.tar.gz" "php_redis_plugin.tar.gz"
    function_install_wordpress "blog" "wordpress-4.9.4-zh_CN.tar.gz"
    function_install_phpMyAdmin "phpMyAdmin" "phpMyAdmin-4.8.3-all-languages.tar.gz"
    function_client_rsync_backup
    function_install_tomcat 'apache-tomcat-8.5.34.tar.gz' '8081 8082 8083' 'jpress' 'jpress-web-newest.war'
    function_create_java_jpress 'jpress-web-newest.war'
    function_ifdown_eth1
 }

# Install mage_jump_01 service
#[  "$(hostname)" == "${mage_jump_01}" ] && {
#    function_install_zabbix 'zabbix-3.4.10.tar.gz' '--enable-agent'
#    function_host_create "Template OS Linux" "Template Linux TCP Status"
#    function_client_rsync_backup
#    
# }
rm -f /tmp/install_service.lock
print_log 0 "$0 Completed exit"

 

posted on 2018-12-27 19:46  薄荷冰  阅读(162)  评论(0)    收藏  举报