博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell--定时备份数据库脚本
阅读量:2442 次
发布时间:2019-05-10

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

需求

  1. 每天凌晨 2:10 备份 数据库 atguiguDB 到 /data/backup/db
  2. 备份开始和备份结束能够给出相应的提示信息
  3. 备份后的文件要求以备份时间为文件名,并打包成 .tar.gz 的形式,比如:2018-03-12_230201.tar.gz
  4. 在备份的同时,检查是否有 10 天前备份的数据库文件,如果有就将其删除。

在这里插入图片描述

代码实现

#!/bin/bash#完成数据库的定时备份#备份路径BACKUP=/data/backup/db#当前时间DATETIME=$(date +%Y_%m_%d_%H%M%S)echo "========开始备份========"echo "========备份路径是 $BACKUP/$DATETIME.tar.gz"#主机HOST=localhost#用户名DB_USER=root#密码DB_PWD=root#数据库名DATABASE=xxxxxx#创建备份路径,如果路径文件夹存在,就使用,否则创建[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"#执行mysql的备份数据库的指令,文件存放到临时目录mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz#打包备份文件cd $BACKUPtar -zcvf $DATETIME.tar.gz $DATETIME#删除临时目录rm -rf $BACKUP/$DATETIME#删除10天前的备份文件find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {
} \;echo "========备份文件成功========"

交给crond执行

crontab -e
10 2 * * * /usr/sinb/mysql_db_backup.sh

转载地址:http://awpqb.baihongyu.com/

你可能感兴趣的文章
Git简介,第1部分
查看>>
微信 获取地理位置名称_使用地理名称的目标地理位置
查看>>
graph api_与Facebook Graph API集成
查看>>
本地应用程序_本地化PHP应用程序的“正确方法”,第4部分
查看>>
防止跨站请求伪造(CSRF)
查看>>
科创板 云计算业务公司_云计算对您的业务意味着什么
查看>>
SitePoint播客#80:与澳大利亚团队的FullCodePress
查看>>
使用codeigniter_使用CodeIgniter探索面向方面的编程,第2部分
查看>>
用Wufoo创建简单表单:开发人员的观点
查看>>
heroku_使用Heroku和Facebook SDK在云中构建您的应用
查看>>
SitePoint播客#145:Addy Osmani的Backbone.js基础
查看>>
Google发布Chrome 4.0
查看>>
将ip保存在txt文档中_将任何文件存储在Google文档中
查看>>
disconf apps_Google Apps Drop IE6支持
查看>>
使用Screenr创建截屏视频
查看>>
互联网总线带宽_新技术将使互联网带宽翻倍
查看>>
java自由职业者是什么_一个成功的自由职业者需要什么?
查看>>
java语言作为入门好吗_Java作为学生的第一语言
查看>>
sql内联接外联接三张表_在SQL中联接三个或更多表
查看>>
Django博客教程–创建一个简单的博客
查看>>