两个小shell脚本(磁盘判断,远程服务安装)
2022/1/28 7:07:31
本文主要是介绍两个小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
这篇关于两个小shell脚本(磁盘判断,远程服务安装)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南