用于发送邮件,有一个软连接:mail
实战
- 首先准备两个邮箱,发件方打开smtp协议,获取授权码
- 配置发件方
3.测试案例cat >>/etc/mail.rc<<EOFset from= # 粘贴你的163邮箱set smtp=smtp.163.comset smtp-auth-user= # 粘贴你的163邮箱set smtp-auth-password= # 粘贴授权码set smtp-auth=loginEOF
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
