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

本文介绍了一款用于跨主机文件同步的自定义脚本,包括环境设置、文件同步等功能,旨在提供更灵活且可控的文件管理解决方案。

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

#!/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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值