mysql-full-backup.sh
#!/bin/bash
export MYSQL_HOME=/usr/local/Percona-Server-5.5.21-rel25.0-227.Linux.x86_64/
export PATH=$MYSQL_HOME/bin:$PATH
mysql_backup_dir=/data/backup/mysql/
mysql_username="YOURS"
mysql_password="YOURS"
cd $mysql_backup_dir
lastincrementfolder=`ls -l|grep ^d|tail -n 1 | awk '{print $9}'`
timeStart=$(date '+%Y%m%d%H%M%S')
logfile=full-$timeStart.log
innobackupex --user=$mysql_username --password=$mysql_password $mysql_backup_dir 2> "$logfile"
mysql-incremental-backup.sh
#!/bin/bash
export MYSQL_HOME=/usr/local/Percona-Server-5.5.21-rel25.0-227.Linux.x86_64/
export PATH=$MYSQL_HOME/bin:$PATH
mysql_backup_dir=/data/backup/mysql/
mysql_username="YOURS"
mysql_password="YOURS"
cd $mysql_backup_dir
lastincrementfolder=`ls -l|grep ^d| tail -n 1 | awk '{print $9}'`
timeStart=$(date '+%Y%m%d%H%M%S')
logfile=increment-$timeStart.log
innobackupex --incremental $mysql_backup_dir --incremental-basedir=$lastincrementfolder --user=$mysql_username --password=$mysql_password 2> "$logfile"
注意里面的
export PATH=$MYSQL_HOME/bin:$PATH
不加的话报mysql,innobackupex等 command not found!
以上两个脚本放在/usr/local/scripts/ 目录下,接下来配置crontab
crontab -e
添加以下内容:
0 2 * * 1-6 sh /usr/local/scripts/mysql-incremental-backup.sh
0 2 * * 0 sh /usr/local/scripts/mysql-full-backup.sh
然后使用vi的保存命令(ZZ,或者:wq)保存 !
意思是每周一到周六的02:00执行一次增量备份,每周日02:00执行一次全量备份。
下面是crontab的时间格式,备忘用。
段
|
含义
|
取值范围
|
第一段
|
代表分钟
|
0—59
|
第二段
|
代表小时
|
0—23
|
第三段
|
代表日期
|
1—31
|
第四段
|
代表月份
|
1—12
|
第五段
|
代表星期几,0代表星期日
|
0—6
|
附几个网上找的例子:
● 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache
● 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务
● 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务
● 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘
● 1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件
● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} /; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
● 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令
分享到:
相关推荐
基于xtrabackup的MySQL数据库备份及还原Shell脚本
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品
xtrabackup使用说明及备份脚本,用于Mysql数据库的物理备份,本人亲测可用
xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 xtrabackup有两个主要的工具:xtrabackup、innobackupex (1)...
XtraBackup是一个用来备份 MySQL 的 InnoDB 数据库的开源工具。例如执行增量备份的命令是: # ./xtrabackup --backup --target-dir=/backup/delta --incremental-basedir=/backup/base
xtrabackup自动备份数据库的shell脚本,亲测可用自动备份数据库,使用时改改参数即可(还没到50字吗)。
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup有两个主要的工具:xtrabackup、innobackupex 1、...
基于xtrabackup8.0的数据库备份脚本,支持全库压缩备份、排除指定数据库压缩备份以及指定数据库压缩备份。备份规则:周一至周六增量备份,周日全库备份,自动管理备份和备份日志。如果有格式问题,应该是windows的...
备份innodb表时,xtrabackup若干个线程拷贝独立表空间的.ibd文件,并不停监视此过程中redo log的变化,添加到自己的事务日志文件(xtrabackup_logfile)中。在此过程中,发生的物理写操作越多,xtrabackup_logfile越...
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup有两个主要的工具:xtrabackup、innobackupex 1、xtrabackup...
innobackupex 脚本用来备份非 InnoDB 表,同时会调用 xtrabackup 命令来备份 InnoDB 表,还会和 mysqld server 发送命令进行交互,如加读锁(FTWRL)、获取位点(SHOW SLAVE STATUS)等。简单来说,innobackupex 在 ...
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup有两个主要的工具:xtrabackup、innobackupex 1、...
刚开始用mysqldump,备份比较大的数据库,再加上服务器繁忙,备份速度像蜗牛似的,于是寻找更高效的备份方法使用Xtrabackup。Percona XtraBackup是著名的开源Mysql服务器第三方备份软件,其使用物理热备份形式,在...
Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库基于InnoDB的物理热备的备份工具,支持MySQL、Percona server和MariaDB,开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB...
该脚本资源是使用xtrabackup对mysql做定时备份使用的,方便大家下载学习,如果过有是问题可以私信我,关于xtrabackup我也是没有太深入的了解,还有很多需要学习的地方,作为开发人员,也需要了解一些简单的运维知识
这个是备份工具的第一部分,由于官网下载速度太慢,所以放在改平台,由于文件大小受限,拆成两部分 第二部分地址https://download.csdn.net/download/qq_31075763/11851120
基于xtrabackup 2.4及docker版本mysql数据库可配置的压缩备份脚本,支持mysql5.6、5.7,目前仅支持数据库全量备份,默认备份数据保留35天
这个是备份工具的第二部分,由于官网下载速度太慢,所以放在改平台,由于文件大小受限,拆成两部分
Xtrabackup 只能备份 InnoDB 和 XtraDB 两种引擎表,而不能备份 MyISAM 数据表。 innobackupex 则封装了 xtrabackup,同时可以备份 MyISAM 数据表。Xtrabackup 做备份的 时候不能备份表结构、触发器等等,智能区分....