Linux下如何实现MySQL数据库每天自动备份定时备份
备份是容灾的基础,是指为避免系统呈现操作失误或系统故障导致数据丢掉,而将全部或部分数据集合从运用主机的硬盘或阵列复制到其它的存储介质的进程。而关于一些网站、系统来说,数据库便是全部,所以做好数据库的备份是至关重要的!
备份是什么?
为什么要备份
容灾方案建造
存储介质
这里主要以本地磁盘为存储介质讲一下计划使命的增加运用,根本的备份脚本,其它存储介质仅仅介质的访问方法可能不大相同。
1、检查磁盘空间情况:
既然是守时备份,就要挑选一个空间足够的磁盘空间,避免呈现因空间缺乏导致备份失利,数据丢掉的后果!
存储到当时磁盘这是最简略,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就挑选更好更安全的存储介质;
# df -hFilesystem
2、创立备份目录:
上面咱们运用指令看出/home下空间比较足够,所以能够考虑在/home保存备份文件;
cd /home
mkdir backupcd backup
3、创立备份Shell脚本:
留意把以下指令中的DatabaseName换为实践的数据库称号;
当然,你也能够运用其实的命名规则!
vi bkDatabaseName.sh
输入/粘贴以下内容:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
对备份进行紧缩:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
留意:
把 username 替换为实践的用户名;
把 password 替换为实践的暗码;
把 DatabaseName 替换为实践的数据库名;
4、增加可履行权限:
chmod u+x bkDatabaseName.sh
增加可履行权限之后先履行一下,看看脚本有没有过错,能不能正常运用;
./bkDatabaseName.sh
5、增加计划使命
检测或装置 crontab
确认crontab是否装置:
履行 crontab 指令如果报 command not found,就标明没有装置
如时没有装置 crontab,需求先装置它,具体步骤请参考:
CentOS下运用yum指令装置计划使命程序crontab
运用rpm指令从CentOS系统盘装置计划使命程序crontab
增加计划使命
履行指令:
crontab -e
这时就像运用vi修改器相同,能够对计划使命进行修改。
输入以下内容并保存:
*/1 * * * * /home/backup/bkDatabaseName.sh
具体是什么意思呢?
意思是每一分钟履行一次shell脚本“/home/backup/bkDatabaseName.sh”。
6、测试使命是否履行
很简略,咱们就履行几次“ls”指令,看看一分钟过后文件有没有被创立就能够了!
如果使命履行失利了,能够通过以下指令检查使命日志:
# tail -f /var/log/cron
输出类似如下:
Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: starting 0anacron
Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: finished 0anacron
Sep 30 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)
Sep 30 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: starting 0anacron
Sep 30 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: finished 0anacron
Sep 30 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)
Sep 30 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)
Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: starting 0anacron
Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: finished 0anacron
Sep 30 16:15:29 bogon crontab[3598]: (root) END EDIT (root)
我有话说: