实现数据库自动备份与备份文件转移

本文详细介绍了如何通过TCL和EXPECT工具来实现MySQL数据库的自动备份,并结合autosend脚本将备份文件转移到远程服务器。首先,讲解了TCL和EXPECT的安装步骤,接着阐述了创建mysqlbackup脚本来执行数据库备份,然后说明了如何配置autosend1和autosend2脚本以自动上传备份文件到目标主机。最后,提到了利用crontab设置定时任务以定期执行这些操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现数据库自动备份与备份文件转移

一.  tcl和expect的安装

将压缩包都解压在/usr目录下

进入tcl解压目录,然后进入unix目录

  #./configure

  #make

  #make install

后安装expect,进入expect解压目录

#./configure --with-tclinclude=/usr/src/tcl8.4.19/generic/ --with-tclconfig=/usr/local/lib/

上面具体路径按实际填写

  #make

  #make install

完成,测试

  #expect

  expect1.1>

expect1.1>

 

 

 

二.  mysqlbackup脚本文件

l  三个脚本文件都建立在/usr/local/mysql/目录下

l  在/usr/local/msyql/data/目录下新建backup目录,存放备份文件和日志

l  以上如有改动,则需要更改mysqlbackup脚本中变量BIN_DIR,BACK_DIR

l  更改DB_NAME,DB_USER,DB_PASS

 

 实现数据库自动备份与备份文件转移 - wangyj8807 - wangyj的博客

   

第一行引入shell

echo –e的“-e”是实现转义字符

 

 

 

三.  autosend1脚本文件

实现数据库自动备份与备份文件转移 - wangyj8807 - wangyj的博客

 

 

此脚本实现文件自动上传

expect的变量都放在数组里,使用set取值

expect之后的语句必须写在一行上,不能换行

 

 

四.  autosend2脚本文件

l  在负责接收备份文件的主机上新建目录/usr/local/backup/

l  更改配置变量username,host,passwd,

 

 实现数据库自动备份与备份文件转移 - wangyj8807 - wangyj的博客

给autosend2配置变量

 

五.  crontab命令添加计划任务

crontab –e 进入任务编辑

crontab –l 查看有那些任务

/var/log/cron是crontab任务运行的日志文件

*   *   *   *   *  /脚本路径>dev/null 2>&1

分     时     日     月     周

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值