expect与rsync 异步并行备份数据脚本

expect与rsync 异步并行备份数据脚本

#!/bin/bash
#author:qunying.liu
#2014.08.02
#脚本用途:通过rsync从远程机器备份数据到本机机器对应目录
#脚本目录:/usr/local/scripts/,expect脚本目录:/usr/local/scripts/dsfilersync,
#备注:一个机器对应一个exp脚本,该脚本中包含该机器所有rsync同步目录。

#初始化目录
cd   /usr/local/scripts/
grep "rsync -avz" ./dsfilersync/*.exp|awk ‘{print $NF}‘ >backupdir.info
for DIR in `cat   ./backupdir.info`;
do
[ ! -d $DIR ] && mkdir -p $DIR && echo "Create Dir $DIR done !"
ls -ld $DIR
done 

#统计需要备份的机器IP到dataserver.ip文件中
 grep "rsync -avz" ./dsfilersync/*.exp|awk [email protected] ‘{print $2}‘|awk -F: ‘{print $1}‘|sort |uniq >./dsfilersync/dataserver.ip
 

 
tmp_fifofile="/tmp/fifo.$$"  ;mkfifo "$tmp_fifofile" ;exec 6<>"$tmp_fifofile"  ;rm $tmp_fifofile  
 #通过管道文件,让expect脚本异步执行。
for ip in `cat ./dsfilersync/dataserver.ip`;do
{
echo "$ip,Begin at `date +%Y-%m-%d-%H-%M-%S`...."

#每天中午12点清空日志
if [ 12 -eq  $(date +%H) ];then
echo "">/data/scripts/logs/time$ip.log
echo "">/data/scripts/logs/datarsync$ip.log
fi

flag="`/bin/ps -ef|grep $ip.exp|grep -v grep`"
if [ -z "$flag" ];then 
  echo "$ip:Begin at `date +%Y-%m-%d-%H-%M-%S`" >> ./logs/time$ip.log
  cd /data/scripts/
  ( ./dsfilersync/$ip.exp 1> ./logs/datarsync$ip.log   2>&1 && echo "$ip:Finsh at `date +%Y-%m-%d-%H-%M-%S`" >> /data/applogs/time$ip.log ) || /usr/local/scripts/MonitorAgent -f monitor -t "data rsync file from $ip failed  "  -i " rsync file failed from $ip , please check /data/applogs/datarsync$ip.log "
else
  echo "$ip: Already running...."
fi
} &
done 
wait
exec 6>&-
echo "Finsh at `date +%Y-%m-%d-%H-%M`"

expect与rsync 异步并行备份数据脚本

时间: 2024-10-10 05:16:14

expect与rsync 异步并行备份数据脚本的相关文章

浅谈用expect实现路由器自动备份数据

在网络界瞎混这么多年,对路由器的认识一直很渣:功能强大的网络设备.支持强大OSPF.BGP.MPLS VPN等网络路由协议,却很少关注对它的日常运维.直到后来接触到linux,发现linux强大的脚本编程功能.学过linux之后再回来看路由器,特别是思科的IOS,顿悟:IOS就是尼玛的linux再次开发的,更确切的说应该叫它Unix-like. 既然,linux可以支持强大的脚本编程,如shell编程.python等实现系统的自动化监控.自动化执行任务,那作为unix-like的IOS路由器是否

Vbs备份数据脚本集合

近期公司的一些重要服务器需要对数据进行备份,所以就想到用vbs进行备份,一开始用powershell进行备份,后来还是选用了vbs,主要操作为将服务器的重要备份数据进行备份(剪贴)到指定的服务器目录上,然后对备份的目录文件进行文件名+日期进行备份,由于数据比较重要,然后又将备份后的数据进行了二次复制到云服务器上,最主要的是将本地的备份数据通过获取文件夹修改时间将最新的备份数据进行复制,所以就有两个脚本来完成,然后通过windows系统的计划任务进行自定义执行.具体脚本内容见下: 一.将指定路劲的

Mysql定时备份数据脚本

项目3.0的集群以搭建完成,只剩下细节相关的配置,和后期安全和优化的处理,考虑到数据库数据需要备份处理, 但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行的性能, 所以考虑写一个脚本,并制定一个定时任务进行执行脚本备份数据: #!/bin/bash###数据库定时备份,并将备份的库进行打包压缩user=rootpasswd=123456back_path=/vdb1/mysql/backupdata_name=zmq123date=`date +%

mysql检查备份数据脚本并在zabbix上告警

知识点:1.zabbix自定义设置触发报警 2.zabbix_sender用法 3.zabbix采集器的用法 介绍zabbix_sender用法:zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?这时候就需要使用zabbix监控类型zabbix trapper,配合zabbix_sender给它传递数据.所以说zabbix_sender是更新items值最快的方式 zabbix采集器是zabbix监控上的一种模式,是其对服务器数据采集

rsync+crontab备份方案

一.准备工作 1.1.安装Rsync 检查系统是否安装rsync 客户端NFS: [[email protected] ~]# rpm -qa rsync rsync-3.0.6-12.el6.x86_64 服务端rsync: [[email protected] ~]# rpm -qa rsync rsync-3.0.6-12.el6.x86_64 如果没有安装rsync服务 [[email protected] ~]# yum install rsync -y 1.2.配置rsync服务端:

centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步

目录 1.RSYNC数据备份 1.1 rsync服务简介 1.2 rsync特点和优势 1.3 rysnc运行模式简介 1.4 数据同步方式 2 Rsync实验测试 2.1 实验环境说明 2.2 服务安装 2.3 Rsync命令详解 2.3 实验一使用rsync命令备份数据 2.4 实验二使用rsyncd服务进行数据备份 3.Rsync+sersync实现数据实时同步 3.1 rsync+sersync架构作用 3.2 rsync+inotify-tools与rsync+sersync架构的区别

Vbs 清理备份数据-保留数据量

我们前面文章介绍了,通过vbs脚本对文件进行压缩备份,但是通过计划任务备份的话,备份的数据会越来越多,对于我们的磁盘空间利用来说比较浪费,所以我们又通过以下 脚本进行判断,将多余的备份数据清理, 我们需要将D盘下的backup目录下的备份数据只保留3份,其他的删除. 备份数据脚本见上一篇文章. Set dic = CreateObject("scripting.dictionary") set fso=CreateObject("Scripting.FileSystemObj

使用expect进行 rsync进行服务器同步备份

使用expect去除交付过程,达到能够实现服务器同步备份 第一:安装expect 检查是否已安装expect rpm -qa | grep tcl tclx-8.4.0-5.fc6 tcl-8.4.13-4.el5 第二:安装expect 下载地址: http://dl.oschina.net/soft/expect 检查tcl的安装位置 rpm -qa|grep tcl 需要安装tcl-devel rpm -ivh   tcl-devel-8.4.13-4.el5.x86_64.rpm 解压e

Linux系统crond、rsync、打包备份数据操作实战

Linux系统crond.rsync.打包备份数据操作实战 前面介绍了系统中定时任务.rsync.打包等各种操作,同时也介绍了实际生产环境中的各类案例,今天我们结合这几种功能做一次实战(备份数据) 一:项目背景 某公司WEB服务器数据非常重要,但是如果硬件出现故障,数据就会丢失,人工备份比较费时费力,因些需要进行相关自动备份,并且要备份至指定的备份服务器上 具体备份内容有: 1.网站站点所有目录及相关文件 2.系统相关的配置文件 3.网站的访问日志文件 具体要求如下:(每天0点备份) 1.WEB