wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第1张图片

1、邮箱设置

2、网盘设置

3、同步策略

 
 
 
前言:目前自建网址的需求越来越多,但是一些网站的维护和消息通知机制,一直不太适宜;所以本章基于QQ邮箱和百度网盘实现简单的邮箱告警和网盘同步,让我们更好的管理我们的个人网址

一、配置自动发送到QQ邮箱:

设置并取得 smtp.qq.com 的 使用 授权密码
QQ首页或者网页登录到QQ邮箱
在这里插入图片描述
点击设置
在这里插入图片描述
选择账户设置
在这里插入图片描述
一值下滑找到POP3样式的服务,然后开启服务
wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第2张图片
短信验证身份

wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第3张图片
返回POP3默认密钥
wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第4张图片
服务端详细配置

[root@localhost ~]#

[root@localhost ~]# yum install mailx sendmail -y  #安装对应mail邮件服务
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.tuna.tsinghua.edu.cn
Package mailx-12.5-19.el7.x86_64 already installed and latest version
Package sendmail-8.14.7-5.el7.x86_64 already installed and latest version
Nothing to do

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# vi /etc/mail.rc
[root@localhost ~]#

[root@localhost ~]# tail -n 4 /etc/mail.rc  修改配置文件把QQ邮箱信息和放出获取的POP3密码键入此处

set [email protected] smtp="smtp.qq.com"   
set smtp-auth-user="[email protected]" smtp-auth-password="whtobh67sdfsgroobf" #密钥之间不需要输入空格
set smtp-auth=login

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# echo 'test'|mail -s 'warning' [email protected] 测试邮件是否正常能收到

二、安装连接百度网盘插件bypy

bypy是基于python的程序所有安装时需要python环境,好在一般centos和Ubuntu都有,需要注意当前系统的python版本,然后下载pip,相当于python程序的yum或apt管理器,然后通过pip安装bypy
yum install python2-pip -y
安装pip包管理器
yum install python3-pip -y
安装bypy程序
pip install bypy
wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第5张图片
安装后使用bypy info生成链接码给bypy程序授权
wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第6张图片
授权码效果图
wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第7张图片
至此百度网盘同步已初步完成

bypy常用命令
1、上传本目录到云盘(同步并不影响本地数据,只是一次简单的copy)
bypy upload [localpath] [remotepath] [ondup]

2、下载云盘目录到本地
bypy downdir [remotedir] [localdir]

3、下载云盘文件到本地
bypy downfile <remotefile> [localpath]

4、查看网盘中的目录文件
bypy list [remotepath] [format] [sort] [order]
在这里插入图片描述
D表示目录
F表示文件

5、比较本地和云盘
bypy compare [remotedir] [localdir]
wordpressQQ邮件告警通知+Baidu网盘自动备份数据_第8张图片
6、其它命令可以看帮助
bypy --help

 
 

三、自动化告警和同步配置基于base脚本实现

[root@97 ~]#cat scripts/checkdisk.sh

#!/bin/bash
#
DiskPcent=`df /dev/sda1 --output=source,pcent |awk -F'[ ]*|%' '/^\/dev\/sd/ {print $2}'`
#检查本地磁盘占用值是否大于60
if [ $DiskPcent -gt 60 ];then
   echo "waring copy file!!"
   find /tmp/log   >./filelist  
   TIME=`date +%F_$RANDOM`
   tar czPf ${TIME}.tar.gz `cat filelist` 
   bypy upload  备份到百度网盘
if [ $DiskPcent -gt 70 ];then
   echo "waring devsdb is full"  如果磁盘大于70则QQ邮箱告警通知管理员
   echo "plase check the data disk"|mail -s 'error' [email protected]
fi
fi

设置定时任务
crontab -e
0 1 * * 1 /usr/bin/bash /baidu/backup.sh
每周凌晨一点备份一次