linux下如何实现mysql数据库自动每日备份系统操作错误或系统故障导致的数据丢失复制到其他存储介质的过程。对于一些网站和系统来说,数据库就是一切,所以做好数据库备份是非常重要的!什么是备份?为什么需要备份容灾解决方案来构建存储介质?CD、磁带、硬盘、磁盘阵列、DAS:直接附加存储、NAS:网络附加存储、SAN:存储区域网络、云存储。这里主要以本地磁盘作为存储介质,讲一下计划任务的添加和使用,以及基本的备份。脚本,其他存储介质,但访问介质的方式可能不同。1、检查磁盘空间:既然是定时备份,就要选择空间充足的磁盘空间,以免因空间不足导致备份失败和数据丢失的后果!保存到当前磁盘是最简单的,但也是最不推荐的;服务器有多个硬盘,最好将备份存放在另一个硬盘上;如果可能,选择更好、更安全的存储介质;#df-hFilesystem21.创建备份目录:我们使用上面的命令看到/home下的空间比较充足,所以可以考虑将备份文件保存在/home中;cd/homemkdirbackupcdbackup3.创建备份Shell脚本:注意以下命令中的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替换为实际的数据库名称;4、添加可执行权限:chmodu+xbkDatabaseName.sh添加可执行权限后,先执行一下,看看脚本有没有错误,能否正常使用;./bkDatabaseName.sh5.添加定时任务检测或安装crontab确认是否安装了crontab:执行crontab命令,如果报commandnotfound说明没有安装#crontab-bash:crontab:commandnotfound如果crontab是暂时没有安装,需要先安装步骤请参考:CentOS下使用yum命令安装定时任务程序crontabhttps://blog.csdn.net/testcs_dn/article/details/48780971使用从CentOS系统盘安装定时任务程序crontab的rpm命令https://blog.csdn.net/testcs_dn/article/details/48781553添加定时任务执行命令:crontab-e此时和使用vi编辑器一样,可以编辑定时任务,输入以下内容并保存:*/1****/home/backup/bkDatabaseName.sh是什么意思?意思是每分钟执行shell脚本“/home/backup/bkDatabaseName.sh”。6.测试任务是否执行非常简单。我们只是执行几次“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]:starting0anacronaSep3016:01:01bogonrun-parts(/etc/cron.hourly)[3714]:finished0anacronSep3016:15:29bogoncrontab[3598]:(root)ENDEDIT(root)
