linux 下备份mysql数据库
今天老板让备份数据库没办法自己折腾吧,下面把折腾的结果总结总结。
数据库备份思路:
1.编写脚本
2.执行脚本 哈哈,是不是很简单,打开冰箱,放入大象,关上。下面我是具体操作。
一、编写脚本
1.设置备份的目录
mkdir /usr/local/mysqlbackup
cd /usr/local/mysqlbackup
2.编写备份脚本代码:
vi dbbackup.sh
备份用的是mysqldump备份,好处解压之后就是sql脚本可以直接导入。
复制下面的代码将用户和密码 数据库 改成自己的
#!/bin/sh mysqldump -uroot -p123456 dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz cd /usr/local/mysqlbackup rm -rf `find . -name '*.sql.gz' -mtime 10` #删除10天前的备份文件
3.更改备份脚本权限
chmod +x dbbackup.sh
二、用crontab定时执行备份脚本代码:
crontab -e
若每天晚上1点00备份,添加如下代码, 一般把备份时间和其他执行的业务分开,以免mysql崩溃。
00 1 * * * /usr/local/mysqlbackup/dbbackup.sh
crontab 命令
* * * * * /usr/local/mysqlbackup/dbbackup.sh 每分钟执行一次 3,15 * * * * /usr/local/mysqlbackup/dbbackup.sh 每天的3点和15点执行一次 3,15 * * * * /usr/local/mysqlbackup/dbbackup.sh 每天的3点和15点执行一次 3,15 8-11 * * * /usr/local/mysqlbackup/dbbackup.sh 在上午8点到11点的第3和第15分钟执行 * */1 * * * /usr/local/mysqlbackup/dbbackup.sh 每一小时重启smb 0 23 * * 6 /usr/local/mysqlbackup/dbbackup.sh 每星期六的晚上23 : 00 * 23-7/1 * * * /usr/local/mysqlbackup/dbbackup.sh 晚上11点到早上7点之间,每隔一小时重启smb 0 4 1 jan * /usr/local/mysqlbackup/dbbackup.sh 一月一号的4点重启smb
重启service crond restart
可以通过命令crontab -l 查看crontab的配置情况。
crontab -r 删除当前用户定时任务
拼你想要的,争你没有的。