Linux mysql数据库每日自动备份

首先想法是写一个脚本,然后设置为定时执行

1.脚本:

vim /root/mysql_backup.sh

#!/bin/bash

backupdir=/data/mysql_backup   
time=` date +%Y%m%d%H`
mysqldump -uroot -p'数据库密码' 数据库名称 | gzip > $backupdir/db_$time.sql.gz
find $backupdir -name "db_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 

写完后按ZZ保存退出

这是单数据库备份,我公司服务器暂时有两个数据库需要备份,但是不能直接在数据库名称后继续添加数据库名称,例如

mysqldump -uroot -p'password' dba dbb | gzip > $backupdir/db_$time.sql.gz

上行代码的意思为:备份dba数据库下的dbb表 ,而不是备份dba数据库和dbb数据库

正确的写法为在数据库名称前加上   --databases

2.更改脚本的权限(增加可执行权限)

chmod +x /root/mysql_backup.sh

3.加入定时

crontab -e

59 23 * * * /root/mysql_backup.sh

每天晚上23:59执行

参考:linux MySQL自动备份和数据恢复

参考:https://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html

参考:https://www.cnblogs.com/zhenghongxin/p/7029173.html

你可能感兴趣的:(技术,linux,MySQL)