脚本定时备份MySQL

备份脚本

#!/bin/bash
#mysql 备份脚本
#保留最近2天备份
#备份目录
backupDir=/home/backup/database
#mysqlDump命令路径
mysqldump=/usr/bin/mysqldump
#ip
host=127.0.0.1
#用户名
username=root
#密码
password=123456@Jin10.com


#今天日期
today=`date +%Y%m%d`
#两天前的日期
timeTenDayAgo=`date -d -3day +%Y%m%d`
#要备份的数据库数组(spider-manage和xxl_job)
databases=(spider-manage xxl_job)


# echo $databaseCount

for database in ${databases[@]}
  do
    echo '开始备份'$database
    $mysqldump -h$host -u$username -p$password $database | gzip > $backupDir/$database-$today.sql.gz
    echo '成功备份'$database'到'$backupDir/$database-$today.sql.gz
    if [ ! -f "$backupDir/$database-$timeTenDayAgo.sql.gz" ]; then
      echo '2天前备份不存在,无需删除'
    else
        rm -f $backupDir/$database-$timeTenDayAgo.sql.gz
        echo '删除10天前备份文件'$backupDir/$database-$timeTenDayAgo.sql.gz
    fi
  done

编辑Linux定时文件

crontab -e

添加定时任务(定时30分钟执行备份一次)

在线cron表达式编辑

*/30 * * * * /home/software/web/spider-manager/MySQL_backup.sh
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容