#!/bin/bash . /etc/init.d/functions Ip="xxx.xxx.xxx.xx" Redis="/usr/local/redis-3.2.0/src" ########### Tomcat Start/Stop Function ################ tomcat () { read -p "Enter {p2p|shop}:" tname if [ "$2" == "start" ];then /data/apache-tomcat-7.0.69-${tname}/bin/startup.sh &>/dev/null else /data/apache-tomcat-7.0.69-${tname}/bin/shutdown.sh &>/dev/null [ $? -eq 0 ] && action "Tomcat is ok!!" /bin/true fi } ########### Redis Start/Stop Function ################## redis(){ if [ "$2" == "start" ];then for i in {7000..7005} do cd /data/recluster/$i rm -f appendonly.aof dump.rdb nodes.conf done /usr/local/redis-3.2.0/bin/redis-server redis.conf $Redis/redis-trib.rb create --replicas 1 $Ip:7000 $Ip:7001 $Ip:7002 $Ip:7003 $Ip:7004 $Ip:7005 else /usr/local/redis-3.2.0/bin/redis-cli shutdown fi } ########### Mysql Start/Stop Function ################## mysql(){ if [ "$2" == "start" ];then /etc/init.d/mysqld start else /etc/init.d/mysqld stop fi } ########### Mq Start/Stop Function ################## mq(){ if [ "$2" == "start" ];then rabbitmq-server -detached else rabbitmqctl stop fi } ########### Nginx Start/Stop Function ################## nginx(){ if [ "$2" == "start" ];then /etc/init.d/nginx start else /etc/init.d/mysqld stop fi } main(){ if [ -z "$1" ];then echo "Usage: sh $0 {start|stop}" exit fi case $2 in start) #Startup sequence: mysql -> nginx -> redis -> mq -> tomcat case $1 in all) mysql &&\ nginx &&\ redis &&\ mq &&\ tomcat &&\ action "mysql&&nginx&&redis&&mq&&tomcat start is ok!!!" /bin/true ;; *) $1 ;; esac ;; stop) #Closing sequence: tomcat -> mq -> redis -> mysql -> nginx case $1 in all) tomcat &&\ mq &&\ redis &&\ mysql &&\ nginx &&\ action "mysql&&nginx&&redis&&mq&&tomcat stop is ok!!!" /bin/true ;; *) $1 ;; esac ;; esac } main $1 $2
#!/bin/bash #create by Topaz . /etc/init.d/funions Bak='/Release/mysql' Date=`date +%Y%m%d` Server_ip='xxx.xxx.xxx.xx' User='rsync_backup' Passwd_file='/etc/rsync.password' for i in {p2p,dfhxshop,binlog} do cd $Bak/$i &&\ rsync -avz $Date.tar.gz $User@$Server_ip::backup/mysql/`hostname`/$i/ --password-file=$Passwd_file &>/dev/null &&\ action "$i push success ! " /bin/true done
#!/bin/bash reap -p "Enter host ip: " ip cd /home/topaz/tools/ tar xf zabbix-3.0.1.tar.gz groupadd zabbix useradd -g zabbix zabbix yum install gcc-c++ -y ./configure --prefix=/usr/local/zabbix --enable-agent sleep 3 make install mkdir /var/log/zabbix mkdir /usr/local/zabbix/var chown -R zabbix:zabbix /usr/local/zabbix chown -R zabbix:zabbix /var/log/zabbix cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ chmod 755 /etc/init.d/zabbix_agentd sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd cd /usr/local/zabbix/etc cp zabbix_agentd.conf zabbix_agentd.conf.ori egrep -v '^$|^#' /usr/local/zabbix/etc/zabbix_agentd.conf.ori >zabbix_agentd.conf sed -i 's#Server=127.0.0.1#Server=xxx.xxx.xxx.x#g' zabbix_agentd.conf sed -i 's#Hostname=Zabbix server#Hostname=xxx.xxx.xxx.xx#g' zabbix_agentd.conf chkconfig zabbix_agentd on /etc/init.d/zabbix_agentd start
#!/bin/bash #this create bytopaz #date: 2016-7-29 ###############int################ Rsync_proc=`netstat -lntup|grep rsync|wc -l` Check_rpm=`rpm -qa rsync|wc -l` Rsync_user=rsync_backup Password="123456" Password_file=/etc/rsync.password ###############Check Rsync################ [ -f /etc/init.d/functions ]&& . /etc/init.d/functions [ $Rsync_proc -ne 0 ]&&{ action "/var/run/rsyncd.pid: File exists" /bin/false exit 1 } ###############Rsync yum################ if [ $Check_rpm -eq 1 ] then action "Package rsync already installed and latest version" /bin/false else echo "YUM INSTALL RSYNC..." yum -y install rsync >>/tmp/rsync_install.log &&\ echo ==================`date +%F`=================== >>/tmp/rsync_install.log &&\ [ $? -eq 0 ] && action "Complete!" /bin/true fi ###############Rsync configure################ if [ ! -f /etc/rsyncd.conf ] then cat >/etc/rsyncd.conf <<EOF #Rsync server ##rsyncd.conf start## uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = false list = false hosts allow = 192.168.0.0/24 hosts deny = 0.0.0.0/32 auth users = $Rsync_user secrets file = $Password_file ##################################### [backup] path = /Release/rsync EOF [ $? -eq 0 ] && action "configure is Complete" /bin/true fi ###############Create################ rsync --daemon && action "rsync --daemon is success!!" /bin/true [ ! -f /Release/rsync ] && /bin/mkdir /Release/rsync id rsync &>/dev/null if [ $? -eq 1 ] then useradd rsync -s /sbin/nologin -M &&\ action "useradd 'rsync' is ok" /bin/true else action "useradd: user 'rsync' already exists" /bin/false fi echo "$Rsync_user:$Password" >$Password_file &&\ chmod 600 $Password_file &&\ chown -R rsync.rsync /Release/rsync &&\ action "Welcome to the Rsync!!" /bin/true ############### client example #################### #ll /etc/rsync.password #-rw------- 1 root root 7 Jul 29 10:07 /etc/rsync.password #cat /etc/rsync.password #123456
#!/bin/bash for i in {p2p,shop} do cd /data/$i-tomcat/logs /usr/bin/find -name "*.log" -mtime +7|xar rm -f
#!/bin/bash . /etc/init.d/functions #调用函数,在后面判断是否成功时会调用它里面的模块 [ $# -ne 1 ] && { echo "USAGE:sh $0 ARG" exit 1 } for n in 138 139 #主机多的话也可以从文件里读取 do scp -P22 $1 dog@10.0.0.$i:~ &>/dev/null if [ $? -eq 0 ] then action "10.0.0.$i fenfa $1 is ok" /bin/true #成功的话提示,并调用成功提示模块 else action "10.0.0.$i fenfa $1 is false" /bin/false #失败的话提示,并调用失败提示模块 fi done
Always keep learning.