linux定时备份mysql数据库并发送邮件通知
发布日期:2021-04-30 21:06:36 浏览次数:89 分类:精选文章

本文共 1530 字,大约阅读时间需要 5 分钟。

Linux系统邮件配置及数据库备份优化

系统邮件配置

在Linux系统中,配置邮件功能需要修改mail.rc文件。以下是主要配置步骤:

  • 打开mail.rc文件,通常路径为/etc/mail.rc

  • 在文件尾添加以下内容:

    set from=wangjzh@sarnath.cn
    smtp="smtp.sarnath.com"
    set smtp-auth-user="xxxxxxx@sarnath.cn"
    set smtp-auth-password="xxxxx"
    set smtp-auth=login
    • set from=...:指定发送邮件时显示的发件人地址。
    • smtp="...":指定第三方邮件服务器地址。
    • set smtp-auth-*:启用 SMTP 认证,常用有login、CRAM-MD5、PLAIN等方式。
    • smtp-auth-usersmtp-auth-password:用于认证的用户名和密码。
  • 保存并退出编辑器。

  • 解决mysqlmysqldump命令未找到问题

    方法一:查找安装路径

    find / -name mysql

    通常情况下,mysql安装路径位于/usr/local/mysql/bin/

    方法二:创建软链接

    ln -s /usr/local/mysql/bin/mysql /usr/bin
    ln -s /usr/local/mysql/bin/mysqldump /usr/bin

    通过创建软链接,可以直接在终端中使用mysqlmysqldump命令。

    数据库备份脚本

    以下是一个自动化的MySQL备份脚本:

    #!/bin/bash
    db_ip="192.168.0.189"
    db_user="root"
    db_passwd="898"
    db_name="kongguan"
    backup_dir="/opt/mysqlbackup"
    # 获取当前日期时间
    time=$(date +"%Y%m%d%H%M%S")
    start=$(date +%Y-%m-%d_%H:%M:%S)
    # 进入MySQL安装目录
    cd /usr/local/mysql/bin
    # 执行备份
    mysqldump -h $db_ip -P 3306 -u $db_user -p $db_passwd --databases $db_name > $backup_dir/$time.sql
    # 备份完成处理
    if [ $? -eq 0 ]; then
    end=$(date +%Y-%m-%d_%H:%M:%S)
    echo -e "备份完成:\n开始时间:$start\n结束时间:$end" > $backup_dir/autolog.log
    echo -e "数据库备份完成!\n开始时间:$start\n结束时间:$end" | mail -s "MySQL备份通知" wangjzh@sarnath.cn
    fi

    脚本功能说明:

  • 定义数据库连接信息和备份目录。
  • 获取当前日期时间作为备份文件名。
  • 使用mysqldump执行数据库备份。
  • 备份完成后,记录结束时间并发送通知邮件。
  • 定时执行

    为了确保数据库备份按时运行,可以使用crontab设置定时任务:

    crontab -e

    添加以下命令:

    0 22 * * *    /path/to/backup_script.sh

    注意事项

  • 确保mail命令已安装并配置完成。
  • 定期检查备份目录存储空间是否充足。
  • 确保crontab任务没有被其他用户或脚本覆盖。
  • 通过以上步骤,可以实现自动化的MySQL数据库备份,并及时发送通知邮件,确保数据安全和管理效率。

    上一篇:Leetcode--209. 长度最小的子数组
    下一篇:Leetcode--397. 整数替换

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2026年06月12日 21时41分42秒