mysql 备份脚本的编写

2015-12-24 Mr.linus 运维技术

最近在为做一些边边角角的工作,现在有一个需求要每天把mysql的数据库dump出来到备份机器上面去.

看似简单的任务也潜在了很多的需求,整理如下:

    自动运行-crontab 

    脚本的环境变量设置-由于通过crontab 启动执行的脚本环境变量没有设置,需要在脚本中设置环境变量

    使用何种方式备份数据库, 这里使用mysqldump 工具

    dump出来的备份文件通过什么方式拷贝到备份机器里面 -scp

    清理N天前失效的备份文件.

ok 针对以上我们一个一个的来

1  自动运行-crontab 

   crontab -u 用户名 -e 

26 10 * * * /opt/mysql/bin/backupmysql.sh 1>/opt/mysql/bin/myserver02.log 2>&1

每天10点26分执行脚本,并且把内容发送到日志文件中,如果不希望有日志也可用写如下

26 10 * * * /opt/mysql/bin/backupmysql.sh 1>/dev/null 2>&1

2 脚本的环境变量设置

讲登录用户下面的PATH 环境变量导入出来

PATH=”环境变量“

export $PATH

这样就能够保证了备份机器·

3mysqldump    

mysqldump –socket=/xxxx/xxxx  -uname -ppassword databasename>/myqdatabackup/myqdata.sql

由于在备份的时候报错,所以收到的指出了socket文件的路径

4拷贝文件到另外一个机器 -使用scp命令进行文件的拷贝

使用scp的要求:1 编辑机器上面的/etc/ssh/sshd_config 文件

                            添加啊Allowusers 添加用户名

                                        Allowgroups 添加组名

                           2 在主机上面生成key,并且拷贝到备份机上,这样scp命令在拷贝文件的时候就不用输入密码了

                                ssh-keygen -t rsa

                                scp id_rsa.pub mysql@11.11.11.11/opt/mysql/.ssh/authorized_keys                                

使用  /var/log/secure 日志进行问题的排查

转载请注明:linux运维部落 » mysql 备份脚本的编写

标签: mysql 脚本

发表评论:

Powered by Mr.Linus 蜀ICP备16005020号