两个shell脚本(磁盘判断,远程服务安装)

自动检测磁盘容量并发送到指定邮箱的shell脚本

#!/bin/bash
from='12345678@163.com' #邮件发送的位置
smtp='smtp.163.com' #邮件服务器
smtpuser='12345678@163.com' #接受邮件的用户
smtppassword='YVQAIHJQUBLXTIMS' #邮箱授权码
sed -i '$aset from='"${from}"'' /etc/mail.rc
sed -i '$aset smtp='"${smtp}"'' /etc/mail.rc
sed -i '$aset smtp-auth-user='"${smtpuser}"'' /etc/mail.rc
sed -i '$aset smtp-auth-password='"${smtppassword}"'' /etc/mail.rc
sed -i '$aset smtp-auth=login' /etc/mail.rc
log='/var/log/disk' #查询结果在本地保存的位置
disk=/dev/sda1 #要查询的磁盘
a=`df -h | grep $disk | awk '{ print $5 }' | cut -d "%" -f 1` #查询磁盘使用率
o=$((100-$a)) #计算磁盘剩余空间
echo "磁盘空间已使用 $a% 磁盘剩余空间为 $o%" > $log #输出磁盘一用空间和剩余空间到
指定文件
cat $log | mail -s '磁盘剩余空间' $from #发送邮件



#crontab -e 添加定时执行

通过shell脚本实现远程安装服务及状态判断

#!/bin/bash
#---------------------------------------------------
# 管理端和被管理端都执行ssh-keygen -t rsa生成秘钥  - 
# 被管理端再执行ssh-copy-id root@管理端ip 传输秘钥 -
#---------------------------------------------------
#管理端ip
masterip=192.168.1.1
#被管理端ip
ip=192.168.1.2
#判断脚本路径
panduan=/root/2.sh
#创建服务信息存放目录
mkdir /服务状态
#传输SSH密钥
ssh-copy-id root@$ip
#传输服务判断脚本到另一台机器
scp /root/2.sh root@$ip:/$panduan
#远程登陆另一台主机,把下面命令输出的内容放到黑洞里。配置网络Yum源,安装epel源,安装nginx,开启nginx,执行服务判断脚本判断服务状态并且把判断结果传输回本机,登出。
ssh root@$ip > /dev/null << eeooff
rm -rf /etc/yum.repos.d/
mkdir /etc/yum.repos.d/
touch /etc/yum.repos,d/CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install epel-release
yum -y install nginx
systemctl start nginx
sh /$panduan | grep 服务 > /服务启动状态
scp /服务启动状态 root@$masterip:/服务状态/被管理端服务状态
rm-rf /服务启动状态
exit
eeooff
echo "回到本机"
#删除文件夹
rm -rf /etc/yum.repos.d/
#创建一个Yum的文件夹
mkdir /etc/yum.repos.d/
#创建一个Yum的文件
touch /etc/yum.repos.d/CentOS-Base.repo
#配置网络yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#安装epel源
yum -y install epel-release
#安装nginx
yum -y install nginx
#开启nginx
systemctl start nginx
#执行服务判断脚本
sh $panduan | grep 服务 > /服务状态/管理端服务状态

--------------------------------------------------------------

#!/bin/bash
systemctl status nginx
a=`echo $?`
if
[ $a -eq 0 ]
then
echo "服务已启动"
else
echo "服务未启动"
fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3369_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值