现在的位置: 首页 > 综合 > 正文

Oceanbase多台主机间用脚本同步文件的方法

2013年12月11日 ⁄ 综合 ⁄ 共 890字 ⁄ 字号 评论关闭
#!/bin/bash

DIR=`dirname $0`
BIN_DIR=${DIR}/bin
ETC_DIR=${DIR}/etc
LIB_DIR=${DIR}/lib


REMOTE_ADDR=xiao@10.1.1.1:~/tb/ob-test2/

CS_CMD=chunkserver
CS_CONF=chunkserver.conf

MS_CMD=mergeserver
MS_CONF=mergeserver.conf

UPS_CMD=updateserver
UPS_CONF=updateserver.conf

RS_CMD=rootserver
RS_CONF=rootserver.conf


set_env()
{
        export LD_LIBRARY_PATH=$LIB_DIR:/usr/local/lib:$LD_LIBRARY_PATH
        ulimit -n 65535 >/dev/null 2>&1
        ulimit -c unlimited
}

#$1 local file path
sync_file()
{
        scp $1 ${REMOTE_ADDR}$1 
}

#$1 local dir path
sync_files()
{
        scp -r $1/* ${REMOTE_ADDR}$1/ 
}



#main

set_env
cd $DIR

case $1 in
       conf)
                sync_files ${ETC_DIR}
                ;;
        ms_conf)
                sync_file ${ETC_DIR}/$MS_CONF
                ;;
        cs_conf)
                sync_file ${ETC_DIR}/$CS_CONF
                ;;
        clean)
                rm  log  -rf
                ;;
        *)
                echo "Usage: $0 conf|ms_conf|cs_conf|clean)"
                ;;
esac

为了便于多台主机之间同步文件(二进制、配置文件等),通过一个脚本来解决问题比较方便。

在自己写脚本之前,用了两三套自动部署工具,都是组里面别的同学写的,写得非常棒,但使用过程中总是遇到这样那样的问题,而且自己无法解决,必须要作者协助。干脆自己写一个,慢一点,自动化程度低一点,但是控制力更强,相反让效率更高了。

作者微博:

http://weibo.com/raywill2

抱歉!评论已关闭.