首先配置mail
$yum install mailx$vim /etc/mail.rc#以下内容添加至文件末尾set ssl-verify=ignoreset nss-config-dir=/etc/pki/nssdb# 发送地址set from=xxxxxx@# 邮件服务商smtp服务地址set smtp=smtps://:465# 登陆邮箱,同上发送地址相同即可set smtp-auth-user=xxxxx@# 邮箱登陆授权密码,不是登陆密码,SMTP服务通常都是授权码登陆,开通SMTP服务时会提供登陆授权码set smtp-auth-password=xxxxxxset smtp-auth=login
开启mail
书写脚本创建脚本文件bak_mysql.sh
#!/bin/bash#时间export NOW="$(date +"%Y-%m-%d")"#docker里的备份路径,这里指你搭建MySQL容器时映射准备好存放MySQL备份的和主机的映射路径export DATA_DIR=/tmp/mysqlbak#执行备份 -u账号-p密码docker exec mysql /bin/bash -c "mysqldump -uxxxx -pxxxx --set-gtid-purged=OFF css > $DATA_DIR/css$NOW.sql"#执行打包zip -vr /usr/local/docker/mysql/backup/css$NOW.zip /usr/local/docker/mysql/backup/css$NOW.sql#执行发送到邮箱echo "csssql文件" | mail -vs "菜蔬生sql文件" -a /usr/local/docker/mysql/backup/css$NOW.zip xxxx@#定时删除备份find /usr/local/docker/mysql/backup -name "css*.sql" -type f -mtime +10 -exec rm -rf {} \; > /dev/null 2>&1find /usr/local/docker/mysql/backup -name "css*.zip" -type f -mtime +10 -exec rm -rf {} \; > /dev/null 2>&1
授权
授予权限:chmod +x /usr/local/docker/mysql/bak_mysql.sh
到该目录下运行调试是否可行调试运行:./bak_mysql.sh
创建定时
执行:crontab -e
在最底下添加一行:20 01 * * * /usr/local/docker/mysql/bak_mysql.sh
保存,并且执行:crontab -l。列表中就会出现这一行了。
备份时间为每天的早上01点20分。