语法

  1. if [ "ok" = "ok" ]
  2. then
  3. echo "qual"
  4. fi
  5. 或者
  6. if [ "ok" = "ok" ];then
  7. echo "qual" //这里和其他语言的区别是没有分号
  8. fi
  9. 这里面的条件判断式就是使用了 test命令判断

测试脚本

  1. ### 获取到 /dev/mapper/kylin-root 的磁盘使用空间的百分比前的数字
  2. [root@centos ~]# df -h
  3. Filesystem Size Used Avail Use% Mounted on
  4. /dev/mapper/kylin-root
  5. 38G 4.9G 31G 14% /
  6. tmpfs 933M 224K 933M 1% /dev/shm
  7. /dev/sda1 976M 40M 886M 5% /boot
  8. /dev/mapper/kylin-opt
  9. 19G 9.5G 7.8G 56% /opt
  10. 思路:去掉还有devFile opt内容的行,剩下的就是符合条件的行,再提取第四列,再用 % 作为分隔符提取第一列
  11. ###要cut的内容越短越容易cut到想要的结果。
  12. [root@centos ~]# df -h |grep -v 'dev' |grep -v 'File' | grep -v 'opt'| awk '{print $4}'|cut -d "%" -f 1
  13. 14
  14. ###脚本
  15. [root@centos ~]# cat 1.sh
  16. #!/bin/bash
  17. aa=$(df -h |grep -v 'dev' |grep -v 'File' | grep -v 'opt'| awk '{print $4}'|cut -d "%" -f 1)
  18. if [ $aa -ge 10 ];then
  19. echo "你好,美女" | mail -s "想你了" 1046851428@qq.com
  20. fi

在centos 6.9下配置 发邮件的环境:

安装发邮件的所需的软件包

  1.   1、安装sendmail
  2.     1) centos下可以安装命令:yum -y install sendmail
  3.      2) 安装完后启动sendmail命令:service sendmail start
  4.   2、安装mail
  5.     安装命令:yum install -y mailx

安装前换yum源以及配置注意点

  1. 换新的源,很多阿里云的源,163的源都有问题,要么访问不到,要么修改新源中的 vi :%s$release/7/ ,但是最终在install sendmail时会报错提示找不到内容
  2. 只有用下面的新源才能找到内容:
  3. curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
  4. 用了新源后
  5. yum clean all && yum makcache 生成元数据不报错就行了

yum -y install sendmail正确安装结果

  1. 依赖关系解决
  2. ================================================================================
  3. 软件包 架构 版本 仓库 大小
  4. ================================================================================
  5. 正在安装:
  6. sendmail x86_64 8.14.4-9.el6_8.1 base 717 k
  7. 为依赖而安装:
  8. procmail x86_64 3.22-25.1.el6_5.1 base 162 k
  9. 事务概要
  10. ================================================================================
  11. Install 2 Package(s)
  12. 总下载量:879 k
  13. Installed size: 1.9 M

yum install -y mailx正确安装结果

  1. 依赖关系解决
  2. ================================================================================
  3. 软件包 架构 版本 仓库 大小
  4. ================================================================================
  5. 正在升级:
  6. mailx x86_64 12.4-10.el6_10 updates 235 k
  7. 事务概要
  8. ================================================================================
  9. Upgrade 1 Package(s)
  10. 总下载量:235 k
  11. 确定吗?[y/N]:

配置认证

  1. 安装好两个包以后启动服务
  2. service sendmail start

创建一个 a.sh 认证文件,并给它执行权限
chmod +x a.sh
把文件中的对应的qq的内容换成163的内容就可以配置163邮箱的发送邮件

  1. #!/bin/bash
  2. ##创建目录,用来存放证书
  3. mkdir /root/.certs/
  4. ##向qq请求证书
  5. echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
  6. ##添加一个SSL证书到证书数据库中
  7. certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
  8. #添加一个Global 证书到证书数据库中
  9. certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
  10. #列出目录下证书
  11. certutil -L -d /root/.certs
  12. cd /root/.certs/
  13. #信任证书
  14. certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

编辑 /etc/mail.rc内的配置

去QQ邮箱申请SMTP密钥
打开QQ邮箱-设置-账户-下翻找到SMTP开启服务,这里已经开启了,如果换个邮箱没开启SMTP需要开启
把这里的授权码填入下方的配置中,不是密码
QQ图片20210826220737.png

  1. set smtp-use-starttls
  2. set smtp=smtp.qq.com
  3. set from=自己的qq邮箱
  4. set smtp-auth-user=自己的qq邮箱
  5. set smtp-auth-password=授权码
  6. set smtp-auth=login
  7. set ssl-verify=ignore
  8. set nss-config-dir=/root/.certs/

发送邮件

发送失败 重启下服务即可 service sendmail restart
echo “邮件内容” | mail -s “邮件标题” QQ号@qq.com

发送附件
echo “hello world” | mail -s “sh文件” -a 文件路径 QQ号@qq.com

https://blog.csdn.net/qq_42413449/article/details/80782018
https://blog.csdn.net/weixin_44352521/article/details/114227790
https://www.cnblogs.com/godfather007/p/10534016.html