当前位置: 首页 > 科技观察

Linux定时备份下MySQL数据库如何实现每日自动备份

时间:2023-03-15 18:20:16 科技观察

备份是容灾的基础,是指从应用主机的硬盘或阵列中收集全部或部分数据,防止数据丢失由系统操作错误或系统故障引起的复制到其他存储介质的过程。对于一些网站和系统来说,数据库就是一切,所以做好数据库备份是非常重要的!什么是备份?为什么需要备份容灾解决方案来构建存储介质?CD、磁带、硬盘、磁盘阵列、DAS:直接附加存储、NAS:网络附加存储、SAN:存储区域网络、云存储。这里主要以本地磁盘作为存储介质,讲一下计划任务的添加和使用,以及基本的备份。脚本,其他存储介质,但访问介质的方式可能不同。既然是定时备份,一定要选择空间充足的磁盘,避免因为空间不足导致备份失败,数据丢失的后果!保存到当前磁盘最简单,但最不推荐;服务器有多个硬盘,最好的办法是将备份存储在另一个硬盘上;如果可能,选择更好、更安全的存储介质;#df-我们使用hFilesystem上面的命令,看到/home下有足够的空间,可以考虑将备份文件保存在/home中;cd/homemkdirbackupcdbackup注意将下面命令中的DatabaseName替换为实际的数据库名;当然,你也可以使用实名规则!vibkDatabaseName.sh键入/粘贴以下内容:#!/bin/bashmysqldump-uusername-ppasswordDatabaseName>/home/backup/DatabaseName_$(date+%Y%m%d_%H%M%S).sql压缩备份:#!/bin/bashmysqldump-uusername-ppasswordDatabaseName|gzip>/home/backup/DatabaseName_$(date+%Y%m%d_%H%M%S).sql.gz注意:将用户名替换为实际用户名;将密码替换为实际密码;将DatabaseName替换为实际的数据库名称;添加可执行权限后执行chmodu+xbkDatabaseName.sh,查看脚本是否有错误,是否可以正常使用;./bkDatabaseName.sh检测或安装crontab确认crontab是否安装:执行crontab命令,如果报commandnotfound,说明没有安装。系统盘安装定时任务程序crontab添加定时任务执行命令:crontab-e此时就像使用vi编辑器编辑定时任务一样。输入以下内容并保存:*/1****/home/backup/bkDatabaseName.sh什么意思?意思是每分钟执行shell脚本“/home/backup/bkDatabaseName.sh”。很简单,我们只要执行几次“ls”命令,一分钟后看看文件是否创建好了!如果任务执行失败,可以使用如下命令查看任务日志:#tail-f/var/log/cron输出类似如下:Sep3014:01:01bogonrun-parts(/etc/cron.hourly)[2503]:starting0anacronSep3014:01:01bogonrun-parts(/etc/cron.hourly)[2512]:finished0anacronSep3015:01:01bogonCROND[3092]:(root)CMD(run-parts/etc/cron.hourly)Sep3015:01:01bogonrun-parts(/etc/cron.hourly)[3092]:starting0anacronSep3015:01:02bogonrun-parts(/etc/cron.hourly)[3101]:finished0anacronSep3015:50:44bogoncrontab[3598]:(root)BEGINEDIT(root)Sep3016:01:01bogonCROND[3705]:(root)CMD(run-parts/etc/cron.hourly)Sep3016:01:01bogonrun-parts(/etc/cron.hourly)[3705]:starting0anacronSep3016:01:01bogonrun-parts(/etc/cron.hourly)[3714]:finished0anacronSep3016:15:29bogoncrontab[3598]:(root)ENDEDIT(root)