(技能篇)Mysql在linux下的全量热备份

相关命令:

#创建备份目录

mkdir -p /mysqlbackup

#进入创建的备份目录中

cd /mysqlbackup

#如果mysql运行在mysql用户和用户组下面,root表示用户,mysql表示组,给用户和组root:mysql

chown  -R root /mysqlbackup

chmod -R 775 /mysqlbackup

#编写备份脚本

vi backup.sh

具体内容参考该文件夹下backup.sh

#然后把这个文件赋予可执行的权限

chmod +x backup.sh

创建定时任务

crontab -e 

每天凌晨2点30备份:

30 2 * * * /mysqlbackup/backup.sh

 

backup.sh内容

#!/bin/sh

 

###############################

 

#此脚本用来全量备份

 

#Justin sun

 

#每个星期日做一次全量备份

 

###############################

 

#设置用户名和密码

 

v_user="root"

v_password="root@123"

#mysql安装全路径

MysqlDir=/application/mysql

#备份数据库

database="cc_com_cc"

#设置备份路径,创建备份文件夹

BackupDir=/mysqlbackup

Full_Backup=$BackupDir/Full_backup

mkdir -p $Full_Backup/$(date +%Y%m%d)

#开始备份,记录备份开始时间

echo '=========='$(date +"%Y-%m-%d %H:%M:%S")'=========='"备份开始">>$Full_Backup/full_buckup.log

$MysqlDir/mysqldump -u$v_user -p$v_password --single-transaction --flush-logs  --databases $database>$Full_Backup/$(date +%Y%m%d)/full_backup.sql

#压缩备份文件

gzip $Full_Backup/$(date +%Y%m%d)/full_backup.sql

echo '=========='$(date +"%Y-%m-%d %H:%M:%S")'=========='"备份完成">>$Full_Backup/full_buckup.log

 

定时任务参考表达式:

#定时任务

 

每五分钟执行    */5 * * * * /home/jelly/test.sh

每小时执行      0 * * * * /home/jelly/test.sh

每天执行        0 0 * * * /home/jelly/test.sh

每周执行        0 0 * * 0 /home/jelly/test.sh

每月执行        0 0 1 * * /home/jelly/test.sh

每年执行        0 0 1 1 * /home/jelly/test.sh

 

每天早上6点     0 6 * * * /home/jelly/test.sh

每两个小时      0 */2 * * * /home/jelly/test.sh

 

晚上11点到早上8点之间每两个小时

0 23-7/2 * * * /home/jelly/test.sh

 

1月1日早上4点

0 4 1 1 * /home/jelly/test.sh

posted @ 2019-07-30 13:55  郑金圣  阅读(507)  评论(0编辑  收藏  举报