Linux通过mailx向网易163发送邮件
以rsync文件传输校验是否完整为例
1.服务端配置
安装mailx
[root@backup@scripts]# yum -y install mailx
在配置文件最后加入
[root@backup@scripts]# vim /etc/mail.rc
set from=15910468023@163.com //邮箱地址
set smtp=smtps://smtp.163.com //邮箱smtp地址
set smtp-auth-user=15910468023@163.com //邮箱地址
set smtp-auth-password=CPDBDXEGKVXJZHMB //smtp生成的校验码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
2.编写rsync校验脚本
[root@backup@scripts]# vim rsyncd_sjjy2.sh
#!/bin/bash
#rsync数据校验
export Backup_dir=/backup
export Result_dir=${Backup_dir}/result
export Day=$(date +%F)
export Md5_file=md5_check
export Result_file=result_${Day}.txt
export Rsync_dir=${Backup_dir}/*/*_${Day}
export Jiaoyanfile_path=$Rsync_dir/${Md5_file}
export Resultfile_path=${Result_dir}/${Result_file}
export Rmdir_dir=${Backup_dir}/*/*
#根据校验情况发送邮件
md5sum -c $Jiaoyanfile_path
if [ $? -eq 0 ];then
md5sum -c $Jiaoyanfile_path | tee -a $Resultfile_path
mail -s "rsync backup jiaoyan is ok..." 15910468023@163.com < $Resultfile_path
else
md5sum -c $Jiaoyanfile_path | tee -a $Resultfile_path
mail -s "rsync backup jiaoyan is fail..." 15910468023@163.com < $Resultfile_path
fi
#删除6个月之前的文件
find ${Rmdir_dir}/ -type d -mtime +180 | xargs rm -rf
find ${Result_dir}/ -type f -mtime +180 | xargs rm -rf
#Backup_dir表示备份目录 Result_dir表示校验结果存放目录 Day表示当前日期
#Md5_file表示md5校验文件名 Result_file表示校验结果文件名 Rsync_dir表示每日rsync增量的目录路径
#Jiaoyanfile_path表示校验文件所在路径 Resultfile_path表示校验结果文件所在路径 Rmdir表示要删哪些目录
3.163邮箱开启smtp并生成校验码
1.进入163邮箱点击设置—POP3/SMTPIMAP
2.选择开启
3.发送短信生成校验码
4.复制校验码到mailx的配置文件中
5.Linux端发送邮件,提示已收到
6.根据rsync校验脚本生成结果并发送到163邮箱
校验正常
校验失败