fdisk.pt
#!/usr/bin/env expect
#该脚本的作用是:免去交互式格盘
spawn fdisk -c -u /dev/xvdb
expect "Command (m for help):"
send "n\r"
expect "primary partition"
send "p\r"
expect "Partition number (1-4):"
send "1\r"
expect "First sector"
send "\r"
expect "Last sector"
send "\r"
expect "Command (m for help):"
send "w\r"
interact
format.sh
#!/usr/bin/env bash
#read -p "Please input you want format partition: " I
yum install -y vim expect
expect /usr/local/sbin/fdisk.pt
#expect /usr/local/sbin/fdisk.pt $I
mkfs -t ext4 /dev/xvdb1 > /dev/null
MOUNT_DIR=/data
if [ ! -d "$MOUNT_DIR" ] ;then
mkdir $MOUNT_DIR
fi
Z=$(egrep $MOUNT_DIR /etc/fstab)
if [ -z "$Z" ] ;then
echo "/dev/xvdb1 /data ext4 defaults 0 0" >> /etc/fstab
fi
mount /dev/xvdb1 /data
iptables_web.sh
#!/usr/bin/env bash
#该脚本的作用是:设置web 防火墙
cp /etc/sysconfig/iptables{,.`date +%F`_bak}
cat << EOF > /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 32 --connlimit-mask 32 -j DROP
-A INPUT -p tcp -s 10.117.64.45 -m multiport --dport 22,873 -j ACCEPT
-A INPUT -p tcp -s 10.117.67.0 -m multiport --dport 22,873 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 120.24.212.147 --dport 10050 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
EOF
service iptables restart
mkdir.sh
#!/usr/bin/env bash
#该脚本的作用是:创建数据挂载目录并授权
rm -rf /data/lost+found
mkdir -p /data/{adminshell,autobuild,zuan,cert,logs,Runtime}
mkdir -p /data/autobuild/source/WeiZuanHtml5/
mkdir -p /data/zuan/{Uploads,Runtime,Html}
mkdir -p /data/autobuild/source/WeiZuanHtml5/
chown -R 777 /data/zuan/{Runtime,Html}
chown -R 777 /data/Runtime
mount_app.sh
#!/usr/bin/env bash
#该脚本的作用是:挂载java1 上的NFS 到/data 相应的目录:
echo "10.168.115.187:/app /data/autobuild/source/WeiZuanHtml5/ nfs defaults 0 0" >> /etc/fstab
echo "10.168.115.187:/img /data/zuan/Uploads/ nfs defaults 0 0" >> /etc/fstab
echo "10.168.115.180:/dev/shm/Html /data/zuan/Html nfs defaults 0 0" >> /etc/fstab
mount 10.168.115.187:/app /data/autobuild/source/WeiZuanHtml5/
mount 10.168.115.187:/img /data/zuan/Uploads/
mount 10.168.115.180:/dev/shm/Html /data/zuan/Html
nginx-ip.sh
#!/usr/bin/env bash
#该脚本的作用是:更改从web17推送过来的nginx 配置文件IP,并reload nginx
#获取云服务器私网IP
IP=$(ip a |awk '/scope global eth0/{print $2}'|awk -F '/' '{print $1}')
#获取NGINX 主机定义的IP
NGINX=$(awk -F ':' '/listen/{print $1}' /etc/nginx/conf.d/zuan.conf |awk '{print $2}')
#替换IP地址
#sed -i "s/$NGINX/$IP/" /etc/nginx/conf.d/zuan.conf
sed -i "s/$NGINX/$IP/g" `grep "$NGINX" -rl /etc/nginx/conf.d/`
#重新加载nginx
service nginx restart
nginx-log-top.sh
#!/usr/bin/env bash
read -p "please input the time like 18/Mar/2016:00:00:00 :" y h
DATE=$(date +%F)
LOG="/data/logs/zuan_$DATE.log"
awk '$4>="[$y" && $4<="[$h"' $LOG |awk '{print $1}' |sort -r |uniq -c |sort -nr |head -n 10
PS1.sh
#!/usr/bin/env bash
sed -i 's/# StrictHostKeyChecking ask/StrictHostKeyChecking no/' /etc/ssh/ssh_config
echo "PS1='\[\e[35;1m\][\u@\h \W \t]\\$\[\e[m\]'" >> /etc/profile
source /etc/profile
rm-php-fpm_log.sh
#!/usr/bin/env bash
yesterday=`date -d -1day +%Y%m%d`
rm -rf /var/log/php-fpm/*
service php-fpm reload
rm -rf /dev/shm/$yesterday*
rsync_cert.sh
#!/usr/bin/env bash
#该脚本的作用是:同步证书文件:
rsync -ave 'ssh' 10.117.64.45:/data/cert/* /data/cert/
rsync_code.sh
#!/usr/bin/env bash
#该脚本的作用为:从新 web01 上同步代码到/data/zuan/
rsync -ave 'ssh' 10.117.64.45:/data/zuan/* /data/zuan/ --exclude=.svn --exclude=Uploads --exclude=WeiZuanHtml5 --exclude=Runtime --exclude=*.log --exclude=*.gz --exclude=*.zip --exclude=id --exclude=Html
rsync_nginx.sh
#!/usr/local/env bash
#该脚本的作用是:同步所有nginx 配置
rsync -ave 'ssh' 10.117.64.45:/data/zuan/.htaccess /data/zuan/
rm -rf /etc/nginx/*
rsync -ave 'ssh' 10.117.64.45:/etc/nginx/* /etc/nginx/
sh /usr/local/sbin/nginx-ip.sh
rsync_shell.sh
#!/usr/bin/evn bash
#该脚本的作用是:同步脚本
rsync -ave 'ssh' 10.117.64.45:/data/adminshell/* /data/adminshell/
rsync -ave 'ssh' 10.117.64.45:/etc/zabbix/zabbix_agentd.d/* /etc/zabbix/zabbix_agentd.d/
super-keeper.sh
#!/usr/bin/env bash
#该脚本的作用是:监控线上服务器supervisor 进程工作是否正常
gearadmin --status |awk '{print $4}' > /tmp/txt
for i in $(cat /tmp/txt) ;do
SUPERVISORD=$(ps aux|grep supervisord |grep -v grep |wc -l)
if [ $SUPERVISORD = 0 ];then
/usr/bin/supervisord -c /etc/supervisord.conf >> /root/wx_work.log
fi
if [ $i = 0 ] ;then
supervisorctl restart all
fi
done
swap.sh
#!/usr/bin/env bash
#脚本的作用是:自动创建swap 分区并实现自动挂载
dd if=/dev/zero of=/data/swaps bs=1024 count=8192000
mkswap /data/swaps
swapon /data/swaps
echo "/data/swaps swap swap defaults 0 0" >> /etc/fstab
check_db_conn.php
<?php
$links[]=mysql_connect("100.98.212.155","zuan","OesfdWE2@#DP3");
$links[]=mysql_connect("10.24.154.232","zuan","OesfdWE2@#DP3");
$links[]=mysql_connect("10.24.254.18","zuan","OesfdWE2@#DP3");
$links[]=mysql_connect("10.24.255.164","zuan","OesfdWE2@#DP3");
foreach($links as $link)
{
if(!$link)
{
echo "FAILD! 连接错误,用户名密码不对.";
}
else
{
echo "OK!";
$result = mysql_query ( 'SELECT * FROM mysql.servers;' ,$link);
while ( $row = mysql_fetch_assoc ( $result )) {
var_dump($row['Host']."\t".$row['Db']);
}
mysql_free_result ( $result );
}
mysql_close ( $link );
}
?>
check_db_tables.sh
#!/bin/bash
#脚本作用:在跳板机上批量查看后端服务器数据库某张表的统计
for i in {10.24.153.239,10.24.154.232,10.24.254.18,10.24.255.164};do
echo "`date`-----$i" >> /tmp/db.txt
echo "------------------------------------------------------" >>/tmp/db.txt
mysql -usst -p123456 -h $i -e "CHECKSUM TABLE zuan.ot_file" | sed -e '1d' >> /tmp/db.txt
mysql -usst -p123456 -h $i -e "CHECKSUM TABLE zuan.ot_follow_document_20160501" | sed -e '1d' >> /tmp/db.txt
mysql -usst -p123456 -h $i -e "CHECKSUM TABLE zuan.ot_follow_document_20160502" | sed -e '1d' >> /tmp/db.txt
echo "zuan_app.ot_action_log.count `mysql -usst -p123456 -h $i -e "select count(*) from zuan_app.ot_action_log" | sed -e '1d'`" >> /tmp/db.txt
echo "zuan_app.ot_moneylog.count `mysql -usst -p123456 -h $i -e "select count(*) from zuan_app.ot_moneylog" | sed -e '1d'`" >> /tmp/db.txt
echo "zuan_app.ot_signin.count `mysql -usst -p123456 -h $i -e "select count(*) from zuan_app.ot_signin" | sed -e '1d'`" >> /tmp/db.txt
done
nginx-cut.sh
#!/bin/bash
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv /data/logs/zuan.access.log /data/logs/zuan.d/zuan.access.log_${YESTERDAY}.log
kill -USR1 `cat /var/run/nginx.pid`
mv /var/log/php-fpm/error.log /var/log/php-fpm/php-fpm-error.d/error_${YESTERDAY}.log
kill -USR1 `cat /var/run/php-fpm/php-fpm.pid`
nginx-ip.goto.sh
#!/usr/bin/env bash
#该脚本的作用是:更改从web17推送过来的nginx 配置文件IP,并reload nginx
#获取云服务器私网IP
IP=$(ip a |awk '/scope global eth0/{print $2}'|awk -F '/' '{print $1}')
#获取NGINX 主机定义的IP
NGINX=$(awk -F ':' '/listen/{print $1}' /etc/nginx/conf.d/goto.conf |awk '{print $2}')
#替换IP地址
#sed -i "s/$NGINX/$IP/" /etc/nginx/conf.d/zuan.conf
sed -i "s/$NGINX/$IP/g" `grep "$NGINX" -rl /etc/nginx/conf.d/goto.conf`
#更改nginx 日志目录所属主和组都为nginx
chown -R nginx:nginx /data/logs
#重新加载nginx
service nginx restart
# shell
https://abc.htmltoo.com/:7777/shell/