您的位置:首页 > 运维架构 > Linux

linux 下利用 crontab 备份mysql

2016-04-27 18:01 190 查看

1.创建备份脚本

vi /mysql/bak/dbbackup.sh 目录自定义

在脚本中编辑

mysqldump -uusername -ppassword --default-character-set=utf8 dbname | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz

# 将其中的 username password dbname 分别替换为 mysql 的用户名, 密码 和要备份的数据库名, 此命令会将生成的sql文件打成gz包, 不需要的话将 | gzip去掉即可

#如果需要备份某个数据库的某张表, 直接在数据库名称后面跟上表名即可

mysqldump -uusername -ppassword --default-character-set=utf8 dbname tablename1 tablename2 | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz

# 如果需要备份多个数据库 可直接将 dbname 替换为多个即可, 中间用空格分隔, 前面加上 --databases

mysqldump -uusername -ppassword --default-character-set=utf8 -- databases dbname1 dbname2 | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz

#如果需要备份整个数据库, 将 dbname 替换为 --all-databases 即可

mysqldump -uusername -ppassword --default-character-set=utf8 --all-databases | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz

#生成的文件名是 bak+时间

#删除当前时间10天以前的备份

cd /mysql/bak

rm -rf `find . -name '*.sql.gz' -mtime 10`

2.更改脚本权限

chmod +x dbbackup.sh

3.用crontab定时执行备份脚本代码

执行命令 crontab -e
加入 定时任务

00 21 * * * /mysql/bak/dbbackup.sh #每天晚上21点执行该脚本

保存

4. 如果没有生效的话, 重启定时任务

/etc/rc.d/init.d/crond restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: