赞
踩
案例:192.168.169.169监控192.168.169.170、1192.168.169.71俩台虚拟机磁盘使用率,并发送邮件
###############169机器上编写#####################
vim /root/monitor_disk.sh
#! /bin/bash
for ip in 192.168.169.170 192.168.169.171
do
ssh root@$ip "bash /root/monitor.sh"
done
# crontab -e 编写定时任务
0 0 * * * bash /root/monitor_disk.sh
###############170、170机器上编写################### vim /root/monitor.sh #!/bin/bash yum -y install sendmail # 安装sendmail service sendmail start yum install -y mailx # 安装mail diskUsed=$(df -Th|awk -F'[ %]+' '/\/$/{print $6}') mkdir /tmp logFile=/tmp/jiankong.log function Sendmail(){ mail -s"监控报警" 1011776350@qq.com < $logFile } function check(){ if [ $diskUsed -ge 85 ];then echo "磁盘使用率:${diskUsed}%" > /tmp/jiankong.log Sendmail fi } function main(){ check } main
#!/bin/bash
array=(www.baidu.com www.oldboy.com www.it.com http://www.taobao.com www.hhhhhhh.com)
for i in ${array[*]}
do
#-T 设置超时时间 -t设置链接的次数
wget -T 5 -t 2 --spider $i &>/dev/null
if [ $? -eq 0 ];then
echo "$i 域名正常"
else
echo "$i 域名异常"
fi
done
结果:
[root@localhost lianxi]# bash test_dns.sh
www.baidu.com 域名正常
www.oldboy.com 域名正常
www.it.com 域名异常
http://www.taobao.com 域名正常
www.hhhhhhh.com 域名异常
#!/bin/bash function disk(){ diskUsed=$(df -Th|awk -F'[ %]+' '/\/$/{print $6}') if [ $diskUsed -ge 5 ];then echo -e "\e[31m磁盘使用率超过5%\e[0m" else echo " nothing to do" fi } function mem(){ total=`free -m|grep -i mem|tr -s " "|cut -d " " -f2` used=`free -m|grep -i mem|tr -s " "|cut -d " " -f3` used_rate=`echo "scale=4;$used/$total" |bc` # 保留4位小数 echo $used_rate result=` echo "$used_rate>0.05"|bc ` if (( $result == 1 )) then echo -e "\e[31m使用率超过5%\e[0m" else echo " nothing to do" fi } disk mem
# 获取列表,统计最近日志 登录次数超过20次的ip
iplist=$(/bin/lastb -n 100|awk '{print $3}'|sort|uniq -c|awk '{if ($1>20) print $2}')
# 追加到黑名单并清空登录日志
for ip in ${iplist}
do
echo ALL: ${ip} >> /etc/hosts.deny
echo > /var/log/btmp
done
#!/bin/bash #解决软件的依赖关系,需要安装的软件包 yum install epel-release -y yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc net-tools lsof vim geoip geoip-devel wget -y #新建nginx用户和组 id nginx || useradd nginx -s /sbin/nologin #下载nginx软件 mkdir /hejin -p && cd /hejin wget https://nginx.org/download/nginx-1.21.4.tar.gz #解压软件 tar xf nginx-1.21.4.tar.gz #进入解压后的文件夹 cd nginx-1.21.4 #编译前的配置 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-threads --with-http_v2_module --with-http_stub_status_module --with-stream --with-http_geoip_module --with-http_gunzip_module #如果上面的编译前的配置失败,直接退出脚本 if (( $? != 0));then exit fi #编译,启动2个进程去编译,这样速度快 make -j 2 #编译安装 make install #修改PATH变量 echo "PATH=$PATH:/usr/local/nginx/sbin" >>/root/.bashrc #firewalld and selinux #stop firewall和设置下次开机不启动firewalld service firewalld stop systemctl disable firewalld #临时停止selinux和永久停止selinux setenforce 0 sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config #开机启动 chmod +x /etc/rc.d/rc.local echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local source /etc/rc.local #修改nginx.conf的配置,例如:端口号,worker进程数,线程数,服务域名 sed -i '/worker_processes/ s/1/2/' /usr/local/nginx/conf/nginx.conf sed -i '/worker_connections/ s/1024/2048/' /usr/local/nginx/conf/nginx.conf #sed -i -r '36c \\tlisten 80;' /usr/local/nginx/conf/nginx.conf #sed -i -r '37c \\tserver_name www.it.com;' /usr/local/nginx/conf/nginx.conf #killall nginx进程 killall -9 nginx #启动nginx /usr/local/nginx/sbin/nginx
#!/bin/bash #解决软件的依赖关系 yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y #解压mysql二进制安装包 cd /hejin && tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz #移动mysql解压后的文件到/usr/local下改名叫mysql mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql #新建组和用户 mysql groupadd mysql #mysql这个用户的shell 是/bin/false 属于mysql组 useradd -r -g mysql -s /bin/false mysql #关闭firewalld防火墙服务,并且设置开机不要启动 service firewalld stop systemctl disable firewalld #临时关闭selinux setenforce 0 #永久关闭selinux sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config #新建存放数据的目录 mkdir /data/mysql -p #修改/data/mysql目录的权限归mysql用户和mysql组所有,这样mysql用户可以对这个文件夹进行读写了 chown mysql:mysql /data/mysql/ #只是允许mysql这个用户和mysql组可以访问,其他人都不能访问 chmod 750 /data/mysql/ #进入/usr/local/mysql/bin目录 cd /usr/local/mysql/bin/ #初始化mysql ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt #让mysql支持ssl方式登录的设置 ./mysql_ssl_rsa_setup --datadir=/data/mysql/ #获得临时密码 tem_passwd=$(cat passwd.txt |grep "temporary"|awk '{print $NF}') #$NF表示最后一个字段 # abc=$(命令) 优先执行命令,然后将结果赋值给abc # 修改PATH变量,加入mysql bin目录的路径 #临时修改PATH变量的值 export PATH=/usr/local/mysql/bin/:$PATH #重新启动linux系统后也生效,永久修改 echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc #复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld cp ../support-files/mysql.server /etc/init.d/mysqld #修改/etc/init.d/mysqld脚本文件里的datadir目录的值 sed -i '70c datadir=/data/mysql' /etc/init.d/mysqld #生成/etc/my.cnf配置文件 cat >/etc/my.cnf <<EOF [mysqld_safe] [client] socket=/data/mysql/mysql.sock [mysqld] socket=/data/mysql/mysql.sock port = 3306 open_files_limit = 8192 innodb_buffer_pool_size = 512M character-set-server=utf8 [mysql] auto-rehash prompt=\\u@\\d \\R:\\m mysql> EOF #修改内核的open file的数量 ulimit -n 1000000 #设置开机启动的时候也配置生效 echo "ulimit -n 1000000" >>/etc/rc.local chmod +x /etc/rc.d/rc.local #启动mysqld进程 service mysqld start #将mysqld添加到linux系统里服务管理名单里 /sbin/chkconfig --add mysqld #设置mysqld服务开机启动 /sbin/chkconfig mysqld on #初次修改密码需要使用--connect-expired-password 选项 #-e 后面接的表示是在mysql里需要执行命令 execute 执行 mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='123456';" #检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库,说明成功。 mysql -uroot -p'123456' -e "show databases;"
# 安装软件包
yum -y install php php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
# 安装php扩展支持mysql
yum install php-tidy php-common php-devel php-fpm php-mysql -y
systemctl start php-fpm.service
将前3个安装脚本整合成一个onekey_install_lnmp.sh
#!/bin/bash
for i in 192.168.169.169 192.168.169.170 192.168.169.179
do
# 前提是建立了免密通道
scp onekey_install_lnmp.sh root@$i:/root
ssh root@$i "bash /root/onekey_install_lnmp.sh"
done
# 修改每台服务器的nginx配置文件 location / { root /html/www; index index.html index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /html/www$fastcgi_script_name; #修改成发布目录 include fastcgi_params; } #发布测试页测试是否ok cd /html/www vi index.php <?php phpinfo(); ?>
浏览器访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。