用于发送邮件,有一个软连接:mail

实战

  1. 首先准备两个邮箱,发件方打开smtp协议,获取授权码
  2. 配置发件方
    1. cat >>/etc/mail.rc<<EOF
    2. set from= # 粘贴你的163邮箱
    3. set smtp=smtp.163.com
    4. set smtp-auth-user= # 粘贴你的163邮箱
    5. set smtp-auth-password= # 粘贴授权码
    6. set smtp-auth=login
    7. EOF
    3.测试案例
    mailx -s '你网站挂了' 1501970193@qq.com <etc/hosts
    #    设置主题           设置收件人        发送内容
    echo 'lalala' | mailx -s '你网站挂了' 1501970193@qq.com 
    #    内容           设置主题           设置收件人
    

    项目(集群备份)

    集群中的数据都是需要备份的,但是光备份在本地安全性不高,所以需要备份到backup,除了存储服务器上的数据需要实时同步,其余数据(数据库,配置文件,日志文件,脚本,代码)一周备份一次就可以。

准备: 配置backup服务器中的rsyncd服务,并创建对应模块,例如backup

cat >>/server/scripts/back-etc.sh<<EOF
#! /bin/bash
#author: Rdymy
#desc: 备份各种目录
. /etc/profile

ip_dest=backup
ip=`hostname -I |awk '{print $2}'`
time=`date +%F`

# 备份目录
mkdir -p /backup/$ip
tar zcf /backup/$ip/etc.$time.tar.gz /etc

# 建立校验文件
find /backup -name '*.tar.gz' -type f |xargs echo `md5sum` >/backup$ip/$ip.md5

# 备份到backup服务器
rsync -a /backup/ rsync_backup@backup::backup --password-file=/etc/rsync.pass

# 删除旧的备份
# find /backup -type f -mtime +7 -name '*.tar.gz' | xargs rm -f
EOF
#! /bin/bash
#author: Rdymy
#desc: 备份各种目录
. /etc/profile

#ip_dest=backup
ip=`hostname -I |awk '{print $2}'`
time=`date +%F`

# 备份目录
mkdir -p /backup/$ip
tar zcf /backup/$ip/etc.$time.tar.gz /etc

# 建立校验文件。 ps:是不是觉得这里很变扭,但就是可以这么写,省事
find /backup -name '*.tar.gz' -type f |xargs md5sum >/backup/$ip/$ip.md5

# 备份到backup服务器
rsync -a /backup/ rsync_backup@backup::backup --password-file=/etc/rsync.pass

# 删除旧的备份
# find /backup -type f -mtime +7 -name '*.tar.gz' | xargs rm -f
crontab -e # 先粘这条,再粘后面

# backup peizhi to backup_server by Rdymy
00 00 * * * sh /server/scripts/back-etc.sh &>/dev/null
cat >>/server/scripts/check_backup<<EOF
#! /bin/bash
#author: Rdymy
#desc: 检查备份结果,清理旧的备份,发送邮件
. /etc/profile

#发送邮件
md5sum -c --quiet /backup/*/*.md5 |mailx  -s '每日备份结果' 1501970193@qq.com

#清理旧的备份
find /backup -type f -mtime +365 -name "*.tar.gz" |xargs rm -f
<<EOF
#! /bin/bash
#author: Rdymy
#desc: 检查备份结果,清理旧的备份,发送邮件
. /etc/profile

#发送邮件 -c 校验 --quiet 只输出错误的
md5sum -c --quiet /backup/*/*.md5 | mailx  -s '每日备份结果' 1501970193@qq.com

#清理旧的备份
find /backup -type f -mtime +365 -name "*.tar.gz" |xargs rm -f
crontab -e # 先粘这条,再粘后面的

# check backup and send mail
00 01 * * * sh /server/scripts/check_backup.sh &>/dev/null