热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

自动检测磁盘容量并发送到指定邮箱的shell脚本#!binbashfrom12345678163.com#邮件发送的位置smtpsmtp.163.com#邮件服务器smtp

自动检测磁盘容量并发送到指定邮箱的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&#64;$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&#64;$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&#61;&#96;echo $?&#96;
if
[ $a -eq 0 ]
then
echo "服务已启动"
else
echo "服务未启动"
fi


推荐阅读
author-avatar
本人xiao13
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有