linux(CentOS) 下mysql自动备份
1.创建并编辑文件 /usr/sbin/bakmysql.sh,命令:
vi /usr/sbin/bakmysql.sh
内容如下:
db_user="root"
db_passwd="root"
db_name="db_test"
# the directory for story your backup file.you shall change this dir
backup_dir="/usr/software/backup/mysqlbackup"
# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")" mysqldump -u$db_user -p$db_passwd $db_name > "$backup_dir/$db_name"_"$time.sql"
注意 -p 和 $db_passwd之间没有空格,不然$db_passwd会被当做参数[数据库名]来解析
2.修改文件bakmysql.sh属性,使其可执行;
chmod 777 /usr/sbin/bakmysql.sh
或 chmod +x /usr/sbin/bakmysql.sh
脚本文件必须是:可读,可执行。如果不可读,crontab就不能读取脚本内容,更谈不上执行成功。
3.创建定时任务
#进入编辑界面,内容如下
* * * /usr/sbin/bakmysql.sh
4.则重启下crond服务,命令为
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
mysql备份文件定期删除
------------------------------附加一个mysql备份定时删除--------------------------
1.准备一个脚本文件 rmbak.sh
backup_dir="/data/backup222/4a_db_backup"
#删除七天之前的备份
#find $backup_dir -name $db_name"*.sql.gz" -type f -mtime + -exec rm -rf {} \; > /dev/null >&
#删除一分钟之前的备份
find $backup_dir -name $db_name"*.sql.gz" -type f -mmin + -exec rm -rf {} \; > /dev/null >&
-type f 表示查找普通类型的文件,f 表示普通文件,可不写
-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是-mmin +7表示文件更改时间距现在7分钟以前
-exec rm {} ; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对{ },一个空格和一个\,最后是一个分号;
/dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的& 表示让该命令在后台执行
2.编辑crontab -e,添加下面,每分钟,如,每分钟一次删除
*/ * * * * /data/backup222/rmbak.sh
3.重启:service crond restart
注意,rmbak.sh文件的权限,r,保证 定时任务能读取脚本内容,x,保证脚本有可执行权限
附录: Crontab 格式
分 时 日 月 周 执行命令
第 列分钟 ~,每分钟用 * 或者*/表示,整点分钟数为00或0
第 列小时 ~( 表示 点)
第 列日 ~
第 列月 ~
第 列星期 ~( 表示星期天)
第 列要运行的命令
* * * /backup.sh,此命令表示在每天的凌晨三点执行一次脚本,可自行调整时间
linux(CentOS) 下mysql自动备份的更多相关文章
- centos下mysql自动备份(亲测可用)
编写sh脚本如下: #!/bin/bash db_user="root" db_passwd="123456" db_name="test_db&qu ...
- centos下mysql自动备份
#!/bin/bashdb_user="root"db_passwd="123456"db_name="test_db"#进入备份目录将之前 ...
- Windows下mysql自动备份的最佳方案
网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...
- Windows下MYSQL自动备份批处理
windows下MYSQL自动备份批处理 2011-05-04 09:16:45| 分类: mysql|举报|字号 订阅 按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.b ...
- [转载]linux下mysql 自动备份
ySQL :: Linux 下自动备份数据库的 shell 脚本Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其 ...
- Linux CentOS下MySQL的安装配置之浅谈
前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...
- linux系统中mysql自动备份脚本
mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操 ...
- Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...
- Linux 下Mysql自动备份脚本
backdb.sh 文件 #!/bin/bash USER="root" PASSWORD="888888" DATABASE="mydb" ...
随机推荐
- delphi xe 的替代者 Lazarus
Lazarus的设计目标是应用Free Pascal,所以所有凡是Free Pascal能运行的平台,Lazarus都可以运行.最新版本能运行于Linux,Win32和Mac OS.整个界面的外观和操 ...
- Windows 10 中的存储空间
存储空间有助于保护你的数据免受驱动器故障的影响,并随着你向电脑添加驱动器而扩展存储.你可以使用存储空间将两个或多个驱动器一起分组到一个存储池中,然后使用该池的容量来创建称为存储空间的虚拟驱动器.这些存 ...
- AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到
AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到
- 【设计模式】—— 状态模式State
前言:[模式总览]——————————by xingoo 模式意图 允许一个对象在内部改变它的状态,并根据不同的状态有不同的操作行为. 例如,水在固体.液体.气体是三种状态,但是展现在我们面前的确实不 ...
- Java重写toString和泛型的使用
一.在一个类中重写toString方法 public class Person { private String name; private int age; public Person() { } ...
- WebService 检测到有潜在危险的 Request.Form 值
在web.config 的 <system.web> <pages validateRequest="false" /> <httpRuntime r ...
- 【BZOJ3745】Norma(CDQ分治)
[BZOJ3745]Norma(CDQ分治) 题面 BZOJ 洛谷 题解 这种问题直接做不好做,显然需要一定的优化.考虑\(CDQ\)分治. 现在唯一需要考虑的就是跨越当前中间节点的所有区间如何计算答 ...
- BZOJ 1412 [ZJOI2009]狼和羊的故事 | 网络流
显然是个最小割嘛! 一开始我是这么建图的: 源点向狼连INF 羊向汇点连INF 每两个相邻格子间连双向边,边权为1 然后T成狗 后来我是这么建图的: 源点向狼连INF 羊向汇点连INF 狼和空地向相邻 ...
- REDIS 缓存的穿透,雪崩和热点key
穿透 穿透:频繁查询一个不存在的数据,由于缓存不命中,每次都要查询持久层.从而失去缓存的意义. 解决办法:①用一个bitmap和n个hash函数做布隆过滤器过滤没有在缓存的键. ②持久层查询不到就 ...
- Qt error ------ 'XXX' has not been declared
1.头文件没加 2.调用函数者的头文件在XXX头文件的下方