Ai
1 Star 0 Fork 0

子安/ShellScripts

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
acertatimezone.sh 1.79 KB
一键复制 编辑 原始数据 按行查看 历史
Agapito Rojas Ribeiro Junior 提交于 2019-09-12 00:18 +08:00 . Github new repo.
#!/bin/bash
<<INTRO
Script para acertar a timezone de loja com base na UF
INTRO
DBSRV="db_flash" ## Servidor Flash
USRDB="rfloja" ## Usuário de consulta
PWDDB="lojarf04" ## Senha do usuário de consulta
LOJA=$(hostname |cut -d_ -f2-)
[ ${LOJA} -lt 1000 ] && LOJA=L${LOJA}
SLEEP=$(echo "${RANDOM} % 6" |bc)
host ${DBSRV} >/dev/null 2>&1
if [ "$?" -eq "0" ]; then
/usr/bin/nc -zw3 ${DBSRV} 3306 >/dev/null 2>&1
if [ "$?" -eq "0" ]; then
sleep ${SLEEP}
UF=$(mysql --connect_timeout=5 -h${DBSRV} -BNp -u${USRDB} -p${PWDDB} -e "select uf from lasa.info_lojas where loja = '${LOJA}';" 2>/dev/null)
if [[ -z ${UF} ]]; then
echo "UF não encontrada!"
exit 3
else
case ${UF} in
AC)
ZONE="America/Rio_Branco" ;;
AL|SE)
ZONE="America/Maceio" ;;
AM)
ZONE="America/Manaus" ;;
AP|PA)
ZONE="America/Belem" ;;
BA)
ZONE="America/Bahia" ;;
CE|MA|PB|PI|RN)
ZONE="America/Fortaleza" ;;
DF|ES|GO|MG|PR|RJ|RS|SC|SP)
ZONE="America/Sao_Paulo" ;;
MS)
ZONE="America/Campo_Grande" ;;
MT)
ZONE="America/Cuiaba" ;;
PE)
ZONE="America/Recife" ;;
RO)
ZONE="America/Porto_Velho" ;;
RR)
ZONE="America/Boa_Vista" ;;
TO)
ZONE="America/Araguaina" ;;
*)
echo -e "\e[91m${UF}: UF inválida.\e[0m" ;;
esac
if [[ -n ${ZONE} ]]; then
ln -fs /usr/share/zoneinfo/${ZONE} /etc/localtime && echo -e "export TZ=${ZONE}\nexport UF=${UF}" >/etc/profile.d/tz.sh && echo -e "\e[92m${UF}: TZ='${ZONE}' utilizada.\e[0m"
fi
fi
else
echo "Erro ao acessar o banco no \"${DBSRV}\"."
exit 2
fi
else
echo "Erro ao resolver \"${DBSRV}\"."
exit 1
fi
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/andrewgithub/ShellScripts.git
git@gitee.com:andrewgithub/ShellScripts.git
andrewgithub
ShellScripts
ShellScripts
master

搜索帮助