Ai
1 Star 0 Fork 0

子安/ShellScripts

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
rsync_midas_sap_hml.sh 2.86 KB
一键复制 编辑 原始数据 按行查看 历史
Agapito Rojas Ribeiro Junior 提交于 2019-09-12 00:18 +08:00 . Github new repo.
#!/bin/ksh
####################################################################################################
#
# Script de HOMOLOGAÇÃO da integração de arquivos entre MIDAS (AWS) e SAP (IBM)
# Autor: Agápito Rojas (agapito.rojas@lasa.com.br)
#
# Versão 1.0 (06/07/2016)
#
####################################################################################################
BASE=`basename $0` ## Nome do script
DIRMIDAS="/var/tesouraria/files" ## Diretório remoto do Midas
DIRBC="${DIRMIDAS}/BC" ## Diretório remoto de arquivos BC
DIRDB="${DIRMIDAS}/DB" ## Diretório remoto de arquivos DB
DIRFI="${DIRMIDAS}/FI" ## Diretório remoto de arquivos FI
DIRRX="/lasa/usr/PRODUCAO/COMNC/STARX" ## Diretório local de arquivos recebidos
DIRSAP="/lasa/usr/PRODUCAO/ARQ/SAP/LIBSAP" ## Diretório local de arquivos para processar
LOG="/tesouraria_new/logs/${BASE%%.*}.log" ## Log de execução
SRVMIDAS="10.224.28.131" ## IP do servidor de HOMOLOGAÇÃO do Midas
USRMIDAS="midas" ## Usuário remoto de HOMOLOGAÇÃO do Midas
echo "`date \"+%F - %T\"`: Início" >>${LOG} 2>&1
function colect {
TYPE=$1
case ${TYPE} in
BC) DIR=${DIRBC};;
DB) DIR=${DIRDB};;
FI) DIR=${DIRFI};;
*) echo "`date \"+%F - %T\"`: Tipo errado" >>${LOG} 2>&1
exit 1;;
esac
[ ! -d "$DIRRX/${TYPE}" ] && mkdir -p ${DIRRX}/${TYPE}
LIST="`ssh -o ConnectTimeout=10 ${USRMIDAS}@${SRVMIDAS} \"ls ${DIR}/${TYPE}??????.???? 2>/dev/null |wc -l\"`"
EXIT=$?
if [ "${LIST}" -gt "0" ]; then
echo "`date \"+%F - %T\"`: Coletando arquivos ${TYPE}" >>${LOG} 2>&1
## rsync -acnv --remove-source-files --timeout=10 ${USRMIDAS}@${SRVMIDAS}:${DIR}/${TYPE}??????.???? ${DIRSAP} >>${LOG} 2>&1 ## Dry run preservando mtime
rsync -cgnopv --remove-source-files --timeout=10 ${USRMIDAS}@${SRVMIDAS}:${DIR}/${TYPE}??????.???? ${DIRRX}/${TYPE} >>${LOG} 2>&1 ## Dry run sem mtime
EXIT=$?
if [ "${EXIT}" -eq "0" ]; then
echo "`date \"+%F - %T\"`: Arquivos ${TYPE} coletados com sucesso" >>${LOG} 2>&1
echo "`date \"+%F - %T\"`: Renomeando arquivos" >>${LOG} 2>&1
cd ${DIRRX}/${TYPE}
if [ "`pwd`" == "${DIRRX}/${TYPE}" ]; then
for OLD in `ls ${TYPE}??????.????`; do
NEW="${OLD}.`date +%Y%m%d`.`date +%H%M%S`"
mv ${OLD} ${DIRSAP}/${NEW}
EXIT=$?
if [ "${EXIT}" -eq "0" ]; then
echo "${OLD} -> ${NEW}" >>${LOG} 2>&1
else
echo "`date \"+%F - %T\"`: Erro ao renomear arquivo ${OLD}" >>${LOG} 2>&1
fi
done
if [ "${EXIT}" -eq "0" ]; then
echo "`date \"+%F - %T\"`: Arquivos ${TYPE} movidos com sucesso" >>${LOG} 2>&1
fi
fi
else
echo "`date \"+%F - %T\"`: Erro ${EXIT} no rsync" >>${LOG} 2>&1
fi
elif [ "${EXIT}" -ne "0" ]; then
echo "`date \"+%F - %T\"`: Erro ${EXIT} ao acessar servidor remoto" >>${LOG} 2>&1
else
echo "`date \"+%F - %T\"`: Sem arquivos ${TYPE}" >>${LOG} 2>&1
fi
}
colect BC
colect DB
colect FI
echo "`date \"+%F - %T\"`: Fim" >>${LOG} 2>&1
## Fim do Script
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/andrewgithub/ShellScripts.git
git@gitee.com:andrewgithub/ShellScripts.git
andrewgithub
ShellScripts
ShellScripts
master

搜索帮助