ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-01-27 15:32:33  阅读:114  来源: 互联网

标签:shell 服务 etc ip nginx yum 磁盘 root 远程


自动检测磁盘容量并发送到指定邮箱的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

标签:shell,服务,etc,ip,nginx,yum,磁盘,root,远程
来源: https://blog.csdn.net/qq_36752947/article/details/122718274

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有