美文网首页
配置服务器定时发送备份数据库表到邮箱

配置服务器定时发送备份数据库表到邮箱

作者: 枯萎天然呆 | 来源:发表于2024-05-05 17:33 被阅读0次

    linux邮件发送

    一、安装并开启服务(postfix)(mailx)

    yum install -y mailx  #安装服务
    yum install -y postfix  #安装服务
    systemctl start postfix  #启动服务
    systemctl status postfix  #查看服务状态
    

    如图所示证明postfix服务启动成功,正在运行


    image.png

    确保可以正常发送邮箱
    echo "邮件内容" | mail -s "邮件主题" 收件人
    示例


    image.png

    如果提示命令不存在 执行

    yum install -y mailx
    

    三、拓展-配置公网发送邮件

    1、准备公网邮箱(QQ、163、126)

    2、获取邮箱授权码(此处以QQ邮箱为例进行获取)

    登录进入网页版QQ邮箱


    image.png
    image.png

    \

    通过绑定手机发送短信获取到16位的验证码并复制保存下来

    3、配置公网发送邮件
    vim /etc/mail.rc
    在文件结尾追加以下内容:
    set from=xxxxxx@xx.com #配置服务发送短信的邮箱地址
    set smtp=smtp.qq.com #使用的哪一家企业的邮箱(qq,163,126)
    set smtp-auth-user=xxxxxx@xx.com #配置服务发送短信的邮箱地址
    set smtp-auth-password=XXXXXXXXXXXX #发送短信获取的16位验证码
    set smtp-auth=login

    4、数据库表备份及发送脚本

    #!/bin/bash
    
    # MySQL数据库配置
    DB_USER="student"
    DB_PASSWORD="##########"
    DB_HOST="11.1.10.46"
    DB_PORT="3306"  # 例如:3306
    DB_NAME="student"
    TABLE1="student1"
    TABLE2="student2"
    
    # 备份文件配置
    BACKUP_DIR="/mnt/data/www/path/to/backup/directory"
    BACKUP_FILE="db_backup__$(date +%Y%m%d%H%M%S).sql.gz"
    
    
    
    # 收件人邮箱
    RECIPIENT_EMAIL="xxxxxx@qq.com"
    
    # 邮件主题
    EMAIL_SUBJECT="数据库表备份"
    
    # 创建备份并压缩
    mysqldump -u $DB_USER -p$DB_PASSWORD -h $DB_HOST -P $DB_PORT $DB_NAME $TABLE1 $TABLE2 | gzip > $BACKUP_DIR/$BACKUP_FILE
    
    # 检查备份是否成功创建
    if [ $? -eq 0 ]; then
        echo "备份文件创建成功: $BACKUP_DIR/$BACKUP_FILE"
    
        # 发送邮件
        echo "正在通过邮件发送备份文件..."
        echo -e "备份数据库表  $TABLE1 and $TABLE2.\n" | mailx -s "$EMAIL_SUBJECT" -a "$BACKUP_DIR/$BACKUP_FILE" $RECIPIENT_EMAIL
    
        echo "备份文件已通过邮件发送成功"
    else
        echo "备份文件创建失败"
    fi
    

    5.到所在目录执行脚本查看是否备份并发送
    ./beifen.sh

    6、确保给脚本执行权限

    chmod +x beifen.sh
    

    7.编辑 crontab 文件

    crontab -e
    

    8、添加以下行来设定备份时间(例如,每天凌晨1点执行):

    0 1 * * * /path/to/your/beifen.sh
    
    1. 保存并退出
      编辑完成后,保存并退出编辑器。cron 服务将自动加载并开始按照新配置执行任务。

    2. 检查 cron 任务
      要查看当前用户的所有 cron 任务,可以使用以下命令:

    crontab -l
    

    相关文章

      网友评论

          本文标题:配置服务器定时发送备份数据库表到邮箱

          本文链接:https://www.haomeiwen.com/subject/hfikfjtx.html