定时备份删除数据库sql
1.备份数据库
mkdir -p /home/mysql/mysql_bak/
vi mysql_bak.sh
#!/bin/bash
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab
#time 2019-1-16
#name zhaojingen
USER=root
PASSWORD=123456
DATABASE=aaa
BACKUP_DIR=/home/mysql/mysql_bak/ #备份数据库文件的路径
LOGFILE=/home/mysql/mysql_bak/data_backup.log #备份数据库脚本的日志文件
DATE=`date +%Y%m%d-%H%M -d -3minute` #获取当前系统时间-3分钟
DUMPFILE=$DATE-aaa.sql #需要备份的数据库名称
ARCHIVE=$DUMPFILE-tar.gz #备份的数据库压缩后的名称
if [ ! -d $BACKUP_DIR ]; #判断备份路径是否存在,若不存在则创建该路径
then
mkdir -p "$BACKUP_DIR"
fi
echo -e "\n" >> $LOGFILE
echo "------------------------------------" >> $LOGFILE
echo "BACKUP DATE:$DATE">> $LOGFILE
echo "------------------------------------" >> $LOGFILE
cd $BACKUP_DIR #跳到备份路径下
/usr/bin/mysqldump -u$USER -p$PASSWORD $DATABASE > $DUMPFILE #使用mysqldump备份数据库
if [[ $? == 0 ]]; then
tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1 #判断是否备份成功,若备份成功,则压缩备份数据库,否则将错误日志写入日志文件中去。
echo "$ARCHIVE BACKUP SUCCESSFUL!" >> $LOGFILE
rm -f $DUMPFILE
else
echo “$ARCHIVE Backup Fail!” >> $LOGFILE
fi
(可同时备份多个数据库)
chmod +x mysql_bak.sh
2.清除七天以上的备份
cd /home/mysql/mysql_bak/
vi clean_bak.sh
#!/bin/bash
#time 2019-01-16
#name zhaojingen
BACKUPDIR="/home/mysql/mysql_bak/" #定义备份文件路径
KEEPTIME=7 #定义需要删除的文件距离当前的天数
DELFILE=`find $BACKUPDIR -type f -mtime +$KEEPTIME -exec ls {} \;` #找到天数大于7天的文件
for delfile in ${DELFILE} #循环删除满足天数大于七天的文件
do
rm -f $delfile
done
chmod +x clean_bak.sh
3.加入系统定时任务
vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs # Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | | # * * * * * user-name command to be executed
01 00 * * * root /home/mysql/mysql_bak/mysql_bak.sh #定义每天凌晨0点01分执行备份数据库脚本
10 00 * * 0 root /home/mysql/mysql_bak/clean_bak.sh #定义每周日凌晨0点10分执行删除数据库备份文件
定时备份删除数据库sql的更多相关文章
- 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件
项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- Linux下定时备份MySQL数据库的Shell脚本
Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...
- 如何定时备份Mysql数据库
1.创建备份数据库存储目录 cd data/db mkdir backup #创建存储目录 2.添加备份脚本 vim backupdb.sh #创建脚本文件 脚本内容如下: #!/bin/sh db_ ...
- Linux shell实现每天定时备份mysql数据库
每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3 ...
- centos7-每天定时备份 mysql数据库
centos7-每天定时备份 mysql数据库 第一步:编写数据库备份脚本database_mysql_shell.sh #!/bin/bash DATE=`date +%Y%m%d%H%M` #ev ...
- 定时备份mysql数据库的shell脚本
最近项目需要定时备份mysql数据库的数据,根据需求写了一份定时备份mysql数据库的脚本. -h mysql的地址 默认为localhost -P 端口号 默认为3306 -u 用户 默认为r ...
- linux 定时备份mysql数据库
首先要先搞清楚两个概念: ①.mysqldump,mysqldump是mysql的逻辑备份工具,它不是linux的命令,工作原理类似产生一些列sql语句,对数据库进行指定的逻辑备份. 最简洁的形式是: ...
- Linux 使用crontab定时备份Mysql数据库
项目中数据库的数据是至关重要的!在实际项目中,遇到有客户机房断电导致数据库数据丢失的问题,又因为备份容灾不及时,导致部分数据恢复不了,而刚好这部分丢失的数据对于客户来说又是至关重要的,那么怎么办呢?盲 ...
随机推荐
- 正确robots写法,解决百度搜索不显示缩略图问题
网站上线http://zhimo.yuanzhumuban.cc/有一年左右时间了,百度搜索显示略缩图少之又少,通过自己这几天的观察发现. 结合百度站长平台的 robots 工具和抓取诊断工具检查后, ...
- 2019CCPC网络赛 HDU 6702——找规律
题意 给定 $A,B$(都是正整数),求使得 $(A\ xor\ C) \& (B \ xor \ C)$ 最小的正整数 $C$,如果有多个满足条件的 $C$,输出最小的 $C$. 分析 ...
- Flume组件
1.什么是Flume:apache顶级项目,主要用来做数据采集.分布式.高可用,将海量日志进行采集.聚合.传输的系统.能够对数据进行简单处理在发送到接收方. 2.Flume组件:source.chan ...
- web场景的监控
在一台可以连外网的主机上创建web场景, 添加步骤,zabbix可以步骤化web页面,例如,登陆操作,正常操作是要先验证用户获取token,step1就可以是先访问token页面,获取到返回的toke ...
- 【概率论】5-10:二维正态分布(The Bivariate Normal Distributions)
title: [概率论]5-10:二维正态分布(The Bivariate Normal Distributions) categories: - Mathematic - Probability k ...
- (16)打鸡儿教你Vue.js
博客: Hexo搭建个性博客 https://hexo.io/zh-cn/ 快速.简洁且高效的博客框架 超快速度 Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染. 支持 Mar ...
- 数据结构实验之排序六:希尔排序 (SDUT 3403)
其实,感觉好像增量不同的冒泡,希尔排序概念以后补上. #include <bits/stdc++.h> using namespace std; int a[10005]; int b[1 ...
- JSP了解点基础
了解即可: 1.JSP本质: 是将jsp文件解析为java servlet类! 生成.class文件 存放在工程的work文件夹内! 2.注释 <%-- --%> html ...
- 项目发布到tomcat后,通过项目名称访问报404
查看tomcat发布地址发现和项目名称不一致 如果直接拷贝项目,可能也需要修改此选项 解决方案: 经过排查发现了原因: 首先说明一下项目 Maven+SSM 需要使用到 maven tomcat 7 ...
- Java 基础:抽象类与接口
1.什么是抽象 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. 我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属 ...