免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1609 | 回复: 1
打印 上一主题 下一主题

[文本处理] shell发送邮件格式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-08-04 19:14 |只看该作者 |倒序浏览
大神们,有个脚本,觉得需要优化一下更为合理,想使用if条件来判断,另外想通过邮件给管理员发送信息html格式,不知道怎么修改,求指点。
当前脚本执行功能:从数据库获取enddate、password信息,当edndate的值和本地系统的date 相等时,执行更新对应的password值(随时10位密码),同时对enddate的值做更新往后增加2个月,当前脚本是可以满足的,但是觉得代码还有优化空间,想用判断来执行,当获取的enddate和 localhost date相等执行更新操作对应的password值(随时10位密码),同时对enddate的值做更新往后增加2个月,另外给指定的用户发送一封邮件。数据库中对应的数据前增加了一个username字段,所以想最终实现,用户的数据更新后给管理员指定邮箱发送一封html格式的邮件,来告知管理员用户的密码更新状态及过期日期。最终管理员收到的邮件格式为:zhangsan的用户密码将在xx天过期,lisi的用户密码已经更新为xxxxx,过期日期为xxxxx


#!/bin/bash
date1=`date +%F`
date2=`date -d "2 month" +%F`
password=`mkpasswd -l 10 -C 3 -c 3 -d 3 -s 1`
user=root
passwd=123456
host=192.168.7.42
port=3306

echo "当前时间是date1, 修改后的时间是date2, 修改后的密码是password"
echo "当前数据库表信息..."
mysql -u$user -p$passwd -h$host -P$port --default-character-set=utf8 -A<<EOF
use whzone;
select * from perinfo;
EOF

echo "开始修改数据..."
mysql -u$user -p$passwd -h$host -P$port --default-character-set=utf8 -A<<EOF
use whzone;
update perinfo set password='$password', enddate='$date2' where enddate='$date1';
flush privileges;
EOF

echo "修改后的数据库表信息..."
mysql -u$user -p$passwd -h$host -P$port --default-character-set=utf8 -A<<EOF
use whzone;
select * from perinfo;
EOF


论坛徽章:
0
2 [报告]
发表于 2018-08-06 13:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP