#!/bin/bash

. ./param_bash.ini

clear
START "Change system parameters as root user" "$0"

if [ ! -w /etc/passwd ] ; then
   ERROR "Please run the script as root user only" "$0"
fi

#insert system parameters in the /etc/system or /etc/rc.d/rc.local

str10="Warning: System parameter definitions have been found"
str11="in the file"
str20="Leave this session open, and open the file"
str21="in a new session as root user. Configure the system variables according"
str22="the parameters below."
str23=""

sav=`date +'%Y%m%d.%s'` > /dev/null 2>&1
step=Y
if [ "$OS" = "Linux" ] ; then
    bash updateRHSysParams.bash >> $gen_log 2>&1
    if [ "$?" != "0" ] ; then
        ERROR "Faild during updating system parameters" "$0"
    else
        DONE "Successfully updated system parameters" "$0"
    fi
else
#SUN SOLARIS
     if [ "${SUN_REL}" = "89" ] ; then
        par_file=/etc/system
        var_sun="shminfo_shmmax shminfo_shmmin shminfo_shmseg shminfo_shmmni seminfo_semmns seminfo_semmsl seminfo_semopm seminfo_semvmx seminfo_semmni rlim_fd_max rlim_fd_cur"
        for a in $var_sun
        do
            grep $a $par_file > /dev/null
                if [ "$?" = "0" ] ; then
                    step=N
                fi
        done
        if [ "$step" = "N" ] ; then
            echo ""
            echo "$str10"
            echo "$str11 $par_file"
            echo "$str20 $par_file"
            echo "$str21"
            echo "$str22"
            echo "$str23"
            echo ""
            echo "# Exlibris : system parameters"
            echo "set shmsys:shminfo_shmmax = 42949672965"
            echo "set shmsys:shminfo_shmmin = 1"
            echo "set shmsys:shminfo_shmseg = 10"
            echo "set shmsys:shminfo_shmmni = 100"
            echo "set semsys:seminfo_semmns = 1530"
            echo "set semsys:seminfo_semmsl = 400"
            echo "set semsys:seminfo_semopm = 100"
            echo "set semsys:seminfo_semvmx = 32767"
            echo "set semsys:seminfo_semmni = 140"
            echo "set noexec_user_stack=1"
            echo ""
            echo "set rlim_fd_max = 4096"
            echo ""
            echo "set rlim_fd_cur = 1024"
            echo ""
            echo "# Exlibris"
            echo ""
        else
            cp  -p $par_file ${par_file}.$sav
            echo ""  >> $par_file
            echo "# Exlibris : system parameters"  >> $par_file
            echo "set shmsys:shminfo_shmmax = 42949672965"  >> $par_file
            echo "set shmsys:shminfo_shmmin = 1"  >> $par_file
            echo "set shmsys:shminfo_shmseg = 10"  >> $par_file
            echo "set shmsys:shminfo_shmmni = 100"  >> $par_file
            echo "set semsys:seminfo_semmns = 1530"  >> $par_file
            echo "set semsys:seminfo_semmsl = 400"  >> $par_file
            echo "set semsys:seminfo_semopm = 100"  >> $par_file
            echo "set semsys:seminfo_semvmx = 32767"  >> $par_file
            echo "set semsys:seminfo_semmni = 140"  >> $par_file
            echo "set noexec_user_stack=1"  >> $par_file
            echo ""  >> $par_file
            echo "set rlim_fd_max = 4096"  >> $par_file
            echo ""  >> $par_file
            echo "set rlim_fd_cur = 1024"  >> $par_file
            echo ""  >> $par_file
            echo "# Exlibris"  >> $par_file
            echo "System parameters file: $par_file was changed" >> $gen_log 2>&1
            cat $par_file >> $gen_log 2>&1
            echo "" >> $gen_log 2>&1
        fi
    else
        projadd group.dba
        projmod -s -K "project.max-shm-memory=(privileged,10GB,deny)" group.dba
    fi
fi

if [ "$?" != "0" ] ; then
    ERROR "Faild during updating system parameters" "$0"
else
    DONE "After changing system parameters you must reboot the server" "$0"
fi
