本篇介绍下在linux下mysql通过mysqldump备份数据库。
1.建立备份脚本及备份文件存放目录
通过 df -h
命令查看适合存放日志的目录,根据个人喜好只要容量足够就行
#进入目录
cd /bak/
#创建备份日志目录
mkdir mysqldumpbackuplog
#创建备份文件目录
mkdir mysqldumpbackupfile
如图
编写脚本文件
#创建编辑文件
vi mysqldumpbackup.sh
输入以下内容
#!/bin/bash
#数据库地址
hostname='localhost'
#数据库账号
username='username'
#数据库密码
password='password'
#备份时间
backuptime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/bak/mysqldumpbackuplog/'
#文件备份路径
filepath='/bak/mysqldumpbackupfile/'
#输出日志
echo "数据库备份开始!!${backuptime}" >> ${logpath}/mysqldumplog.log
#执行mysqldump备份数据库
mysqldump --single-transaction -h${hostname} -u${username} -p${password} --all-databases > ${filepath}/mysqldump_${backuptime}.sql
#备份成功以下操作
if [ "$?" == 0 ];then
cd $filepath
#只保存7天内的备份,这里先注释删除语句
#find $filepath -name "*.sql" -type f -mtime +7 -exec rm -rf {} \;
echo "数据库备份成功!!${backuptime}" >> ${logpath}/mysqldumplog.log
else
#备份失败则进行以下操作
echo "数据库备份失败!!${backuptime}" >> ${logpath}/mysqldumplog.log
fi
2.给脚本添加运行权限
chmod +x mysqldumpbackup.sh
3.crontab中添加定时执行脚本任务
crontab -e
添加一个任务(每天2点执行备份)
0 2 * * * /bak/mysqldumpbackup.sh
查看crontab列表
crontab -l
有不懂的欢迎留言!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。