Linux计划任务定时备份数据
最近有项目需要定期备份mysql数据的需求,通过linux系统的crontab计划任务实现了一个简单demo,通过mysqldump命令对mysql数据进行备份。
首先新建一个脚本文件:mysqlbak.sh(我这里的目录是 /data/mysqlbak/ )
#!/bin/bash #备份文件存放路径
backupdir=/data/mysqlbak
time=` date +%Y%m%d%H%M ` echo -e `date '+%F %T %A'` " Crontab Start \n" >> $backupdir/crontab_mysqlbak_log_`date +'%Y'`.log #备份所有数据库并打包
mysqldump -h192.168.2.150 -uxxh -p"xxh密码" --all-databases --single-transaction --default-character-set=utf8 |gzip > $backupdir/mysql$time.sql.gz
#删除7天之外的备份文件
find $backupdir -name "mysql*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1 echo -e `date '+%F %T %A'` " Crontab End \n" >> $backupdir/crontab_mysqlbak_log_`date +'%Y'`.log
保存成 mysqlbak.sh,然后执行 sudo chmod +x mysqlbak.sh 给脚本添加可执行权限。
然后把这个脚本添加到任务计划中:
sudo crontab -u root -e 或者 sudo crontab -e 即可进入任务计划。
#计划任务每天3:00执行脚本
00 03 * * * /bin/bash /data/mysqlbak/mysqlbak.sh
到这里就完成了。然后过了几天再来查看效果如下:

通过命令 tail -f crontab_log_2020.log 查看输出的日志:

这个案例实现了基本功能,如果要其他功能请自行修改。
【mysql备份全部全部数据库示例】
1,备份数据库,排除mysql本身的库以及被锁定的表。
2,备份数据库,排除mysql本身的库以及被锁定的表,同时压缩备份。
#备份数据库,排除mysql本身的库以及被锁定的表。
mysql -h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases > 333.sql #备份数据库,排除mysql本身的库以及被锁定的表。同时压缩备份。
mysql -h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases --single-transaction --default-character-set=utf8 |gzip > 344.sql.gz
#备份数据库,排除mysql本身的库以及被锁定的表。
mysql -h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases > 333.sql
#备份数据库,排除mysql本身的库以及被锁定的表。同时压缩备份。
mysql -h10.90.2.189 -u用户名 -p"密码" -P3306 -e 'show databases;'|grep -Ev "Database|information_schema|mysql|performance_schema|testxxx" |xargs mysqldump -h10.90.2.189 -u用户名 -p"密码" -P3306 --databases --single-transaction --default-character-set=utf8 |gzip > 344.sql.gz
【mysql恢复备份】
下面示例常见的根据备份恢复mysql数据的方法:
解压:
gzip -d mysql2020703.sql.gz
非压缩备份文件恢复:
mysql -uxxh -p < mysql2020703.sql
从压缩文件直接恢复:
gzip < mysql22020703.sql.gz | mysql -h 192.168.10.125 -P3306 -u xxh -p"mysql密码"
【完】
【shell脚本按当前日期输出日志】https://www.cnblogs.com/xiongzaiqiren/p/11413242.html
【Linux计划任务,定时清空日志】https://www.cnblogs.com/xiongzaiqiren/p/11190371.html
Linux计划任务定时备份数据的更多相关文章
- Linux定时备份数据到百度云盘
导读:如今的百度云盘免费容量都是2T了,即使把电脑上所有的东东都放上去,也还有大把的剩余空间.对于站长来说,是完全可以充分利用这些硬盘空间的,现在我们就用百度云盘来备份Linux服务器上的数据. 一直 ...
- linux下mysql定时备份数据库
linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈 一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...
- mysqldump+系统计划任务定时备份MySql数据
MYSQL 数据库备份有很多种(cp.tar.lvm2.mysqldump.xtarbackup)等等,具体使用哪一个还要看你的数据规模.下面给出一个表 #摘自<学会用各种姿态备份Mysql数据 ...
- Linux平台下Oracle定时备份数据
临时收到一个任务,就是在生产环境上定时备份oracle的数据.空闲时间搞了一下,真是一波三折,过程有点小郁闷,结果哈哈.现在进行总结一下 (1)新建一个shell脚本test.sh #!/bin/ba ...
- linux下mongodb定时备份指定的集合
目标:把一台linux机上mongodb的数据定时备份到另一台机上: 过程: 一开始打算使用mongoexport和mongoimport,但是总是会报“\x00”字符串不能识别的问题,后来就改成了m ...
- Mysql定时备份数据脚本
项目集群搭建完成,数据库虽有做主从同步,但考虑到数据安全性,为了满足这个需求那么要每天对数据备份处理, 但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行 ...
- Linux 使用crontab定时备份Mysql数据库
项目中数据库的数据是至关重要的!在实际项目中,遇到有客户机房断电导致数据库数据丢失的问题,又因为备份容灾不及时,导致部分数据恢复不了,而刚好这部分丢失的数据对于客户来说又是至关重要的,那么怎么办呢?盲 ...
- Linux下mysql定时备份及恢复
备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh 2.备份输出路径: /root/backu ...
- Linux(Centos)全自动异地备份数据(WEB+Mysql)
文章开始之前,先问下各位站长一个问题:什么东西对于站长是十分重要的?其实对于站长而言,很多东西都是很重要的.但我们现在排除外在因素,把范围缩小到网站系统本身,哪些是非常重要的呢?网站数据就是其中之一了 ...
- linux中mysql命令方式备份数据的问题
这几天公司新出了个组件化的项目,里面需要用到mysql数据库相关的技术,由于之前一直用的mongodb,所以mysql几乎忘光了,于是只能在linux虚拟机中重新开始学习. 基本的增删改查还好,但是在 ...
随机推荐
- 弱口令、子域名、md5、伪随机数、目录爆破与CTF实战
web 21--弱口令爆破&custom iterator 进去要求输入账号密码,账号输入admin,一般来说管理员用户名都会是这个,密码随便输,然后burpsuite抓包 可以看到账号密码在 ...
- 记录一下opencv-contrib的编译使用
一.来由 公司需求进行多图拼接算法,在opencv提供的Stitcher类当中默认的算子是ORB,我想尝试使用SIFT和SURF算子,经过一番查找发现这两个算子需要opencv的超集库支持--&quo ...
- JAVA 使用注解lombok@Builder和@Data,primary not found default constructor
由于添加@Builder会将@Data让类缺失无参构造器 应手动在实体中写构造函数并增加: @Tolerate 实体类名(){} 网上很多讲解 这里给一个我觉得讲的比较好的链接 https://www ...
- ArcGIS填补面图层的细小空白并删除主体部分外的零散部分
本文介绍在ArcMap软件中,基于消除面部件("Eliminate Polygon Part")工具,对矢量面要素的零碎.空洞区域加以删除,同时将游离于要素主体之外的部分剔除的 ...
- 读书笔记-C#8.0本质论-01
1. IL代码入门 1.1 示例1 namespace ConsoleApp1; internal static class Program { internal static void Main(s ...
- golang之项目部署
介绍 Go 语言可以使用内置命令行工具 go build 编译生成可执行文件.自 Go1.5 版本开始实现自举后,交叉编译也很方便,只需使用 GOOS.GOARCH 环境变量指定目标平台和架构. 部署 ...
- TOML 1.0格式语法
github: https://github.com/BurntSushi/toml TOML 旨在成为一个语义显著而易于阅读的最低限度的配置文件格式.TOML 被设计地能够无歧义地转化为哈希表.TO ...
- 《HelloGitHub》第 104 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...
- Javascript 构造函数和类
1.构造函数 含义:所谓"构造函数",就是专门用来生成实例对象的函数.它就是对象的模板,描述实例对象的基本结构.一个构造函数,可以生成多个实例对象,这些实例对象都有相同的结构 写法 ...
- Vue.js axios
1.安装与引入 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,官方文档 在HTML文件中引入 <script src="https:/ ...