相关命令:
#创建备份目录
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