代码之家  ›  专栏  ›  技术社区  ›  Tom

备份MySql数据库,并在特定时间通过电子邮件发送到某个位置

  •  0
  • Tom  · 技术社区  · 7 年前

    所以我需要的是:一个脚本,它将转储和压缩数据库,然后通过电子邮件发送到某个地方,如果失败,则通过电子邮件发送到其他地方。

    1 回复  |  直到 17 年前
        1
  •  2
  •   Wes    17 年前

    我使用以下脚本向专用邮件帐户发送一个小转储。 当然,这假设您可以使用 mail 命令

    #!/bin/bash
    gzdate=`/bin/date +%Y-%m-%d_%H%M`;
    gzfile=dump_${gzdate}.sql.gz
    mailrecpt=recipient@domain.com
    dumpuser=username
    dbname=mydb
    mysqldump --single-transaction --opt -u ${dumpuser} ${dbname} | gzip > ${gzfile}
    if [ $? == 0 ]; then    
        ( echo "Database Backup from ${gzdate}:"; uuencode ${gzfile} ${gzfile} ) | mail -s "Database Backup ${gzdate}" ${mailrecpt};
    else
        ( echo "Database Backup from ${gzdate} failed." ) | mail -s "FAILED: Database Backup ${gzdate}" ${mailrecpt};
    fi
    

    推荐文章