文档章节

shell 自动检测文件,并进行配置对比和升级操作

y
 yang713
发布于 2017/07/07 11:25
字数 424
阅读 10
收藏 0

#!/bin/bash
cd /root
file=`ls -t *.zip`
files=($file)
decoderfile=${files[@]:0:4}
decoderfiles=($decoderfile)
decoderfiless=${decoderfiles[3]}
decoder_version=${decoderfiless[@]:0:7}
#echo $decoderfiless
#echo $decoder_version
checkbin_dict(){
time=`date +"%m%d"`
bin_dict="/data1/bin_out_$decoder_version"
if [ -d $bin_dict ];then
echo "bin out's dict is exits"
read -p "please in put Y/N/other,input "Y" is delete bin,input "N" is keep bin,input "other" is creat another bin out dict:" checkbin
case $checkbin in 
Y)
echo "I will delete this bin"
cd $bin_dict
ls|xargs -n 10 rm -rf 
;;
N)
echo "I will keep this bin"
;;
other)
echo "I wiil creat other bin dict"
mkdir -p /data1/bin_out_$decoder_version_$time
;;
*)
echo "please in put Y/N"
exit 1
;;
esac
else
echo "bin_dict is not exits ,I wiil creat it!"
mkdir -p $bin_dict
fi
}
decoder_upgread(){
decoder_dict="/data1/new_do/decoder_$decoder_version"
cd /root
unzip VoLTE\ Linux\ Oracle\ $d
if [ -d $decoder_dict ];then
echo "decoder_dict is exits"
cd VoLTE\ Linux\ Oracle\ $decoder_version
cp libapp_dss_component_* $decoder_dict
cp *.exe $decoder_dict
cp *.ini $decoder_dict
cp libapp_dss_component_* /usr/lib64/
cp /data1/new_do/decoder_v4.0.0/LteLicense.ini $decoder_dict
 if [ -d $decoder_dict/log ];then
 echo "log is exits"
 else
 mkdir -p $decoder_dict/log
 fi 
else 
mkdir $decoder_dict
mkdir -p /$decoder_dict/log
chmod -R 777 $decoder_dict
cd VoLTE\ Linux\ Oracle\ $decoder_version
cp *.so $decoder_dict
cp *.exe $decoder_dict
cp *.ini $decoder_dict
cp libapp_dss_component_* /usr/lib64/
cp /data1/new_do/decoder_v4.0.0/LteLicense.ini $decoder_dict
fi
read -p "choose conf ,please input shanghai or hainan or lte:" chooseconf
case $chooseconf in 
shanghai)
cp /data1/new_do/decoder_v4.0.0/lteconfig.ini_4.0.0.sh $decoder_dict
cd $decoder_dict
mv lteconfig.ini lteconfig.ini_bak
conf_version=`cat lteconfig.ini_bak|grep Version`
awk 'NR==FNR{a[$1]=$0;next}NR>FNR{if ($1 not in a)print a[$1];else print $0}' lteconfig.ini_4.0.0.sh lteconfig.ini_bak >>lteconfig.ini
conf_version_old=`cat lteconfig.ini|grep Version`
sed -i "s/$conf_version_old/$conf_version/" lteconfig.ini
chmod -R 777 *
echo "decoder configure is ok ,I will start decoder!"
;;
hainan)
cp /data1/new_do/decoder_v4.0.0/lteconfig.ini_hainan_0606 $decoder_dict
cd $decoder_dict
mv lteconfig.ini lteconfig.ini_bak
conf_version=`cat lteconfig.ini_bak|grep Version`
awk 'NR==FNR{a[$1]=$0;next}NR>FNR{if ($1 not in a)print a[$1];else print $0}' lteconfig.ini_hainan_0606 lteconfig.ini_bak >>lteconfig.ini
conf_version_old=`cat lteconfig.ini|grep Version`
sed -i "s/$conf_version_old/$conf_version/" lteconfig.ini
chmod -R 777 *
echo "decoder configure is ok ,I will start decoder!"
;;
lte)
echo "conf is not user set!"
echo "decoder configure is ok ,I will start decoder!"
;;
*)
echo "please configure this conf file !"
exit 1
;;
esac
}
checkbin_dict
decoder_upgread

© 著作权归作者所有

共有 人打赏支持
y
粉丝 0
博文 26
码字总数 2965
作品 0
成都
运维
私信 提问
Windows 2008 R2 安装sp1补丁时未知错误(0x800f0818)的解决办法

转自 Windows 2008 R2 安装sp1补丁时未知错误(0x800f0818)的解决办法 最近在为Windows Server 2008 R2 打sp1补丁时出现“发生未知错误”,详细信息错误:0x800f0818: google后找到解决问题步...

shijilaile
2014/05/28
0
0
深度系统修复工具 V1.0 发布 —— 哪里不对修哪里

深度家族又又添加新成员啦! 深度系统修复工具是一款帮助用户快速修复深度操作系统中某些问题的工具。包含硬盘检测、磁盘空间清理、引导修复、权限修复、登录密码重设等功能。 深度系统修复工...

melodyzou
2018/01/30
2.2K
15
j2ee程序自动更新

原帖:http://www.javaeye.com/topic/599285 说说以前的一个web程序在线更新实现,给没有实现过的人们提供一点思路,这是我一个项目的实现,也许方式不是很好,但是它实现了基本的需求。 公司...

青蛙王子
2010/04/29
418
1
Linux软件包安装方法

Linux软件包安装方法 一、安装软件包的三种方法 rpm yum工具包 源码包 rpm包介绍 二、rpm介绍 RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志...

YAOvYAO
2017/11/14
0
0
Confluence 6 从生产环境中恢复一个测试实例

请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明。 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个...

honeymose
2018/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
3
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
3
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部