# !/bin/bash RedisRootDir=/usr/local OMCRootDir=/usr/local/omc RedisOldRootDir=/usr/local/db RedisConfDir=${RedisRootDir}/etc/kvdb DependsRootDir=${OMCRootDir}/depends SystemdRootDir=/lib/systemd/system OMCEtcDir=${OMCRootDir}/etc FERootDir=${OMCRootDir}/htdocs/front X86Lib64Dir=/lib/x86_64-linux-gnu OmcBinDir=${OMCRootDir}/bin OMCStaticDir=${OMCRootDir}/static UsrLocalBinDir=/usr/local/bin OmcDaemon=omcd NginxEtcDir=/etc/nginx NginxConfDir=${NginxEtcDir}/conf.d NginxSiteAvailable=${NginxEtcDir}/sites-available CFileList="restconf.yaml crontask.yaml tasks.yaml sshsvc.yaml capconf.yaml omc.conf" LogoFileList="zh_brand.png zh_icon.png en_brand.png en_icon.png" echo "" echo "* To start/stop/restart/status omc service, please run:" echo " sudo systemctl start/stop/restart/status restagent.service" echo " sudo systemctl start/stop/restart/status crontask.service" echo " sudo systemctl start/stop/restart/status sshsvc.service" echo " sudo systemctl start/stop/restart/status captrace.service" echo " sudo systemctl start/stop/restart/status kvdb.service" echo " or run: " echo " sudo /usr/local/omc/bin/omcsvc.sh start/stop/restart/status" echo "" cd ${X86Lib64Dir} chmod +rx libwireshark.so.15.0.12 if [ ! -e libwireshark.so.15 ]; then ln -s libwireshark.so.15.0.12 libwireshark.so.15; fi if [ ! -e libwireshark.so ]; then ln -s libwireshark.so.15.0.12 libwireshark.so; fi chmod +rx libwiretap.so.12.0.12 if [ ! -e libwiretap.so.12 ]; then ln -s libwiretap.so.12.0.12 libwiretap.so.12; fi if [ ! -e libwiretap.so ]; then ln -s libwiretap.so.12.0.12 libwiretap.so; fi chmod +rx libwsutil.so.13.1.0 if [ ! -e libwsutil.so.13 ]; then ln -s libwsutil.so.13.1.0 libwsutil.so.13; fi if [ ! -e libwsutil.so ]; then ln -s libwsutil.so.13.1.0 libwsutil.so; fi cd ${UsrLocalBinDir} if [ ! -e ${OmcDaemon} ]; then ln -s ${OmcBinDir}/omcsvc.sh ${OmcDaemon}; fi chmod +rx ${OMCRootDir}/bin/* chmod +rx ${OMCRootDir}/* chmod +rx ${UsrLocalBinDir}/* chmod -R 755 ${OMCRootDir}/htdocs/front for CFile in ${CFileList}; do if [ ! -e "${OMCEtcDir}/${CFile}" ]; then cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir} # else # mv -f ${OMCEtcDir}/${CFile} ${OMCEtcDir}/${CFile}.bak # cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir} fi done # # Install redis db if not exist /usr/local/db # if [ ! -e "${RedisRootDir}/bin/kvdb-server" ]; then # # if [ ! -e "${RedisRootDir}" ]; then # # mkdir -p ${RedisRootDir} # # fi # # stop old adb service # if [ -e "${RedisOldRootDir}/bin/redis-server" ] && [ -e "${SystemdRootDir}/adb.service" ]; then # systemctl stop adb.service # systemctl disable adb.service # fi # # stop adb service # if [ -e "${UsrLocalBinDir}/adb-server" ] && [ -e "${SystemdRootDir}/adb.service" ]; then # systemctl stop adb.service # systemctl disable adb.service # fi # cp -rf ${DependsRootDir}/kvdb/* / # chmod +rx ${RedisRootDir}/bin/kvdb* # if [ ! -e "${RedisConfDir}/kvdb.conf" ]; then # cp ${RedisConfDir}/default/kvdb.conf ${RedisConfDir}; # fi # sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/kvdb.conf # LINE="masterauth helloearth" # FILE="${RedisConfDir}/kvdb.conf" # # 检查文件中是否存在该行 # if ! grep -qxF "$LINE" "$FILE"; then # # 如果不存在,将其添加到文件末尾 # echo "$LINE" >> "$FILE" # fi # # copy the old adb dump.rdb # if [ -e "${RedisOldRootDir}/bin/conf/dump.rdb" ] && [ ! -e "${RedisConfDir}/dump.rdb" ]; then # cp -f ${RedisOldRootDir}/bin/conf/dump.rdb ${RedisConfDir}; # mv -f ${RedisRootDir}/db ${RedisRootDir}/adb.old # fi # # copy the adb dump.rdb # if [ -e "${RedisRootDir}/etc/adb/dump.rdb" ] && [ ! -e "${RedisRootDir}/etc/kvdb/dump.rdb" ]; then # cp -f ${RedisRootDir}/etc/adb/dump.rdb ${RedisRootDir}/etc/kvdb/; # mv -f ${RedisRootDir}/etc/adb ${RedisRootDir}/etc/adb.old # fi # # cp -f ${DependsRootDir}/systemd/kvdb.service ${SystemdRootDir} # else # if [ ! -e "${RedisConfDir}/kvdb.conf" ]; then # cp ${RedisConfDir}/default/kvdb.conf ${RedisConfDir} # fi # sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/kvdb.conf # LINE="masterauth helloearth" # FILE="${RedisConfDir}/kvdb.conf" # # 检查文件中是否存在该行 # if ! grep -qxF "$LINE" "$FILE"; then # # 如果不存在,将其添加到文件末尾 # echo "$LINE" >> "$FILE" # fi # fi if [ ! -e "${FERootDir}/config.js" ]; then cp ${FERootDir}/default/config.js ${FERootDir}; fi for LogoFile in ${LogoFileList}; do if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then cp ${OMCStaticDir}/agt.d/logo/${LogoFile} ${OMCStaticDir}/logo; fi done if ! id -u omc >/dev/null 2>&1 ; then useradd -d /opt/omc -m -s /bin/bash -pomc123 omc; mkdir -p /opt/omc/ftp else echo "user omc exist"; fi if [ ! -e "${NginxConfDir}/omc.conf" ]; then mkdir -p ${NginxConfDir} cp -f ${OMCEtcDir}/nginx/omc.conf ${NginxConfDir}; fi #cp -f ${OMCEtcDir}/nginx/default ${NginxSiteAvailable} if [ -e "${NginxSiteAvailable}/default" ]; then sed -i 's/listen 80 default_server;/listen 1080 default_server;/g' ${NginxSiteAvailable}/default sed -i 's/listen \[::\]:80 default_server;/listen \[::\]:1080 default_server;/g' ${NginxSiteAvailable}/default fi # disable auto upgrade systemctl disable --now unattended-upgrades systemctl enable restagent.service systemctl enable crontask.service systemctl enable sshsvc.service systemctl enable captrace.service #systemctl enable kvdb.service systemctl daemon-reload #systemctl stop nginx.service # read environment parameter and to do if [ "$M_PARAM" == "install" -o "$M_PARAM" == "upgrade" ]; then echo "M parameter: $M_PARAM" if [ -n "$C_PARAM" ]; then echo "C parameter: $C_PARAM" ${OMCRootDir}/bin/setomc.sh -m $M_PARAM -c $C_PARAM else ${OMCRootDir}/bin/setomc.sh -m $M_PARAM fi # exit while failed to run setomc.sh if [ $? -ne 0 ]; then echo "setomc.sh execution failed. Exiting." exit 1 fi fi systemctl stop restagent.service systemctl stop crontask.service systemctl stop sshsvc.service systemctl stop captrace.service #systemctl stop kvdb.service #systemctl start nginx.service #systemctl start kvdb.service systemctl start crontask.service systemctl start sshsvc.service systemctl start captrace.service systemctl start restagent.service