linux 下利用 crontab 备份mysql

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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值