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命令
分享到:
相关推荐
Percona Xtrabackup是一款开源的热备份工具,支持InnoDB和XtraDB存储引擎。它可以进行无锁备份,即使在数据库运行时也不会影响业务。Xtrabackup同样可以通过`cron`进行定时备份,以确保数据的连续性。 3. **MySQL ...
3. **InnoDB表空间备份**:如果数据库主要使用InnoDB存储引擎,可以考虑使用`innobackupex`(XtraBackup的一部分)进行热备份,这允许在不关闭数据库的情况下进行完整备份。 4. **复制技术**:如果你有多台MySQL...
首先,我们关注的是“xtrabackup”这个文件名,它是Percona XtraBackup的简称,一个开源、无锁的MySQL和InnoDB数据备份工具。它允许在不中断服务的情况下进行热备份,这意味着在备份过程中,数据库仍可正常运行,...
在Linux环境下,对MySQL数据库进行自动备份是系统管理员日常维护工作的重要组成部分,它能确保数据安全,防止意外丢失。...无论哪种方式,结合cron定时任务都能确保备份的定期执行,为数据库的安全提供保障。
通过 `crontab -e` 命令添加定时任务,如设定每天凌晨 3:00 执行备份。 在实际应用中,为了应对不同需求,通常还会采用其他备份策略,如: 1. **逻辑备份**:使用 `mysqldump` 工具生成 SQL 脚本来备份数据库,...
MySQL提供了多种备份方法,包括mysqldump、mysqlhotcopy(适用于InnoDB和MyISAM表)以及Percona Xtrabackup(适合InnoDB引擎,支持热备份)。在这个场景下,我们主要关注使用mysqldump命令进行逻辑备份,这是一种...
- **自动备份**:可以设置定时任务或脚本来实现定期备份,如Linux的cron job,Windows的任务计划程序,或编写shell脚本配合crontab。 2. **全量备份与增量/差异备份** - **全量备份**:备份数据库的所有内容,...
2. **Xtra(物理)备份**:如InnoDB的xtrabackup,速度快,对线上影响小,恢复速度快,数据一致性好。 3. **Binlog备份**:通过记录数据库的事务日志,实现增量备份,恢复精度高。 **调度方式的对比:** 1. **...
MySQL本身并不直接支持增量备份,但可以通过第三方工具如Percona XtraBackup或InnoDB Hot Backup实现。 3. 差异备份:差异备份类似于增量备份,但它是相对于最近的全量备份而言,而不是上一次增量备份。 二、`...
为了优化性能,可以考虑调整binlog的大小和位置,或者采用更高效的备份工具,如Percona Xtrabackup,它可以直接处理InnoDB的数据文件和binlog,进一步提高备份效率。 总之,MySQL数据库增量备份是数据库管理中的...
- `xtrabackup`是一个常用的工具,它可以实现在线备份InnoDB表空间,同时支持流式输出,方便远程传输。 **备份步骤**: - 使用`xtrabackup`工具进行全库备份: ```bash innobackupex --user=backup --password...