linux实现定时备份mysql数据库的简单方法
以下是详细步骤:
1、查看磁盘空间情况:
[root@localhostbackup]#df-h 文件系统容量已用可用已用%挂载点 /dev/mapper/centos-root17G2.7G15G16%/ devtmpfs476M0476M0%/dev tmpfs488M0488M0%/dev/shm tmpfs488M7.7M480M2%/run tmpfs488M0488M0%/sys/fs/cgroup /dev/sda11014M130M885M13%/boot tmpfs98M098M0%/run/user/0 [root@localhostbackup]#
选择合适磁盘存放备份文件
2、创建备份目录:
cd/home mkdirbackup cdbackup
3、创建备份Shell脚本:
在创建的目录下创建备份脚本(vibkDatabaseName.sh)
#!/bin/bash mysqldump-uroot-prootrtak>/data/backup/rtak_$(date+%Y%m%d_%H%M%S).sql mysqldump-uroot-prootrtak|gzip>/data/backup/rtak_$(date+%Y%m%d_%H%M%S).sql.gz
注:
bkDatabaseName.sh替换成有意思的名称
sql备份与gz备份可以二选一,也可全备份
用户名密码需要替换
4、添加可执行权限:
chmodu+xbkDatabaseName.sh
测试文件是否可正常执行(./bkDatabaseName.sh)
注:(1)如果报错mysqldump:未找到命令,执行
ln-fs/usr/local/mysql/bin/mysqldump/usr/bin(/usr/local/mysql路径为mysql安装路径)
(2)如果有警告(Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure.)可以忽略。
(3)查看备份sql文件是否正常,能否正常导入数据库
5、添加计划任务
确认crontab是否安装:
执行crontab命令如果报commandnotfound,就表明没有安装
执行命令:
crontab-e
输入以下内容并保存:
*/**1**/data/backup/bkDatabaseName.sh
/**1**/几个*分别代表分钟小时日期月星期几执行备份操作
例如:每分钟执行备份/1****/(已测试)
每天凌晨3点执行备份/003***/(未测试)
6、停止备份操作
在不需要定时备份的时候,执行该操作,正常流程到第五步就完成了~
crontab-r
注:及时清理已过期很久的sql备份,防止磁盘占满