linux下mysql数据库定时备份

 

备份操作命令:
mysqldump -uroot --default-character-set=utf8 --hex-blob  -p123456 test_oa > /usr/software/data_backup/mysql_backup/test.sql

 

以下是完整脚本,加--default-character-set=utf8 --hex-blob  防乱码发生。

#!/bin/bash
databases='test'
user='root'
password='123456'
basepath='/usr/software/data_backup/mysql_backup/'
if [ ! -d "$basepath" ]; then
  mkdir -p "$basepath"
fi
/usr/software/mysql-5.6.24/bin/mysqldump -u$user --default-character-set=utf8 --hex-blob -p$password --database $databases > $basepath$databases-$(date +%Y%m%d).sql && \
tar zPcf $basepath$databases-$(date +%Y%m%d).sql.tgz $basepath$databases-$(date +%Y%m%d).sq
l && \
find $basepath -mtime +2 -name "*.sql.tgz" -exec rm -rf {} \; && \
find $basepath -mtime +2 -name "*.sql" -exec rm -rf {} \; &&
#rm -rf $basepath/*.sql

添加定时执行:

 

# vim /etc/crontab

在最下面添加 
00 3 * * 5 root /home/mysql/3306/backup  ###表示每周五3点钟执行一次备份

#service crond restart  ###重启crond

 

#crond使用说明
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

你可能感兴趣的:(mysql,定时备份)