robstunkist icon

yiluzhuanqian install script

robstunkist | PRO | 04/12/18 02:00:02 AM UTC | 0 ⭐ | 420 👁️ | Never ⏰ | []
Bash |

3.61 KB

|

None

|

0 👍

/

0 👎

#! /bin/bash
set -e
 
# check net
ping -q -w 1 -c 1 www.baidu.com > /dev/null || (echo "Plese check your network." && exit 1)
#nslookup www.baidu.com >/dev/null || (echo "Plese check your dns!" && exit 1)
 
# Determine OS platform
UNAME=$(uname | tr "[:upper:]" "[:lower:]")
# If Linux, try to determine specific distribution
if [ "$UNAME" = "linux" ]; then
    # If available, use LSB to identify distribution
    if [ -f /etc/lsb-release -o -d /etc/lsb-release.d ]; then
        distro=$(lsb_release -i | cut -d: -f2 | sed s/'^\t'//)
    # Otherwise, use release info file
    else
        distro=$(ls -d /etc/[A-Za-z]*[_-][rv]e[lr]* | grep -v "lsb" | cut -d'/' -f3 | cut -d'-' -f1 | cut -d'_' -f1)
   fi
fi
# For everything else (or if above failed), just use generic identifier
[ "$distro" = "" ] && distro=$UNAME
unset UNAME
 
# set user id
if [ $1 ];then
    uid=$1
else
    uid="2"
fi
    
# set device name
if [ $2 ];then
    hname=$2
else
    hname=`ip -4 route get 114.114.114.114 | awk {'print $7'} | tr -d '\n'`
fi
 
minstall(){
    # set hugepage and memlock
    grep -q -F '* soft memlock 262144' /etc/security/limits.conf || echo '* soft memlock 262144' >> /etc/security/limits.conf
    grep -q -F '* hard memlock 262144' /etc/security/limits.conf || echo '* hard memlock 262144' >> /etc/security/limits.conf
    grep -q -F 'vm.nr_hugepages = 256' /etc/sysctl.conf || echo 'vm.nr_hugepages = 256' >> /etc/sysctl.conf
    set +e
    sysctl -w vm.nr_hugepages=256
    set -e
 
    #apt-get -y install libhwloc4
    wget http://www.yiluzhuanqian.com/soft/linux/yilu_centos6.tgz -O /opt/yilu.tgz
    tar zxf /opt/yilu.tgz -C /opt/
 
    /opt/yilu/mservice -user_id $uid -reg_device -dev_name $hname
 
    # uninstall old service
    set +e
    /opt/yilu/mservice -service uninstall
 
    # install new service
    /opt/yilu/mservice -service install
 
    # give priority to make money
    sed -i 's/"cpu_priority": 1/"cpu_priority": 34/g' /opt/yilu/work/workers.json
}
 
if [[ "${distro,,}" = *"ubuntu"* ]] || [[ "${distro,,}" = *"debian"* ]];then
    set +e
    apt-get -y update
    apt-get -y install wget cron sudo
    set -e
    minstall
    # start
    service YiluzhuanqianSer restart
    # start with system boot
    sudo crontab -l -u root 2>/dev/null | grep -q -F 'service YiluzhuanqianSer start' || (sudo crontab -l -u root 2>/dev/null;echo "* * * * * pidof mservice || service YiluzhuanqianSer start") | sudo crontab -u root -
elif [[ "${distro,,}" = *"centos"* ]] || [[ "${distro,,}" = *"redhat"* ]];then
    set +e
    yum -y update
    yum -y install wget crontab sudo
    set -e
    osversion=`grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release`
    if [[ "$osversion" = "7"* ]];then
        minstall
        # start
        service YiluzhuanqianSer restart
        # start with system boot
        sudo crontab -l -u root 2>/dev/null | grep -q -F 'service YiluzhuanqianSer start' || (sudo crontab -l -u root 2>/dev/null;echo "* * * * * pidof mservice || service YiluzhuanqianSer start") | sudo crontab -u root -
    elif [[ "$osversion" = "6"* ]];then
        minstall
        # start
        sudo pidof mservice | xargs kill -9 2>/dev/null
    nohup /opt/yilu/mservice > /dev/null 2>&1 &
        # start with system boot
        sudo crontab -l -u root 2>/dev/null | grep -q -F 'service YiluzhuanqianSer start' || (sudo crontab -l -u root 2>/dev/null;echo "* * * * * pidof mservice || nohup /opt/yilu/mservice > /dev/null 2>&1 &") | sudo crontab -u root -
    fi
else
    echo $distro
    echo "This system is not supported!" && exit 1
fi
 
sleep 10
tail  /opt/yilu/work/xig/debug.log  -n 100

Comments