Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6896278
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 系统运维

2015-06-02 16:08:58

两台Linux服务器同步目录脚本

[日期:2015-06-02] 来源:Linux社区  作者:jx_jy [字体:  ]

在集群环境中,在打补丁,或安装新软件后,经常需要同步目录。

下面我在两台Linux服务器下做了一个脚本,用于完成这个过程。

因为没有在两台机器间做ssh互信,因此,执行过程中需要输入远程机器密码。

#!/bin/bash
#author:wjf
#date:2015/06/01
#desc:同步一台机器上的一个文件夹至远程机器,可用于集群环境中的代码同步
#使用限制:1、同步文件夹路径中不允许出现空格
#  2、远程机器中同步文件夹的上层路径必须手动检查建立

v_tongbu_dir=/tmp/wjf/
#-----------需要同步的文件夹完整路径

v_remote_ip="10.10.5.185"
#-----------远程机器的IP

v_remote_user="root"
#-----------同步过程使用的用户

v_curr_date=`date +%Y%m%d`
v_dir_name=`dirname ${v_tongbu_dir}`
v_base_name=`basename ${v_tongbu_dir}`


cd ${v_dir_name}
echo -ne  "\\n打包压缩${v_tongbu_dir}目录\\n\\n"
sleep 2
tar -cvzf ${v_base_name}${v_curr_date}.tar.gz ${v_base_name}/
echo -ne "\\n上传目录压缩包到远程服务器\\n"
echo -ne "请输入远程服务器(即${v_remote_ip})的${v_remote_user}密码\\n\\n"
scp ${v_base_name}${v_curr_date}.tar.gz ${v_remote_user}@${v_remote_ip}:${v_dir_name}/

echo -ne "\\n登录到远程服务器执行过程\\n"
echo -ne "请输入远程服务器(即${v_remote_ip})的${v_remote_user}密码\\n\\n"

ssh ${v_remote_user}@${v_remote_ip} < if [  -d ${v_tongbu_dir} ]
 then
  rm -rf ${v_tongbu_dir}
fi 
if [ ! -f ${v_dir_name}/${v_base_name}${v_curr_date}.tar.gz ]
 then
  echo "${v_base_name}${v_curr_date}.tar.gz文件不存在,请检查上传过程"
  exit
fi

cd ${v_dir_name}
echo -ne "\\n解压缩${v_base_name}${v_curr_date}.tar.gz\\n\\n"
sleep 2
tar -xvzf ${v_base_name}${v_curr_date}.tar.gz
exit

EOF
echo -ne "\\n同步代码完成,请检查以上过程是否有报错\\n\\n"

本文永久更新链接地址

阅读(553) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~