JFIF$        dd7 

Viewing File: /usr/share/lve-utils/scriptlets/rpm_posttrans.sh

#!/usr/bin/bash
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

# Note: Also called from Debian
# Arguments:

# RPM
# $1 == 1 - install package
# $1 == 2 - upgrade package

# DEB
# $1 == configure - RPM post/posttrans

# "lve-utils POST TRANS STARTED"


rhel=$2
solo_marker=$3
container_marker=$4
_clshare=$5
cloudlinux_cron_file=$6
app_detector_cron_ver_file=${7}
crondir_dom_coll_file=${8}
force_collecting_domains_is_done=${9}
force_collecting_domains_cron_file=${10}
_clshare_crons=${11}
cl_venv_path=${12}
app_detector_cron_ver=${13}

# Install crons
echo "$(( RANDOM % 60 )) $(( RANDOM % 24 ))  * * * root /usr/bin/flock -n /var/run/cloudlinux_cldetect.cronlock /usr/bin/cldetect --update-license" >  "$cloudlinux_cron_file"
echo "$(( RANDOM % 60 )) $(( RANDOM % 24 ))  * * * root /usr/bin/flock -n /var/run/cloudlinux_summary.cronlock /usr/sbin/cloudlinux-summary --send --json &> /dev/null" >>  "$cloudlinux_cron_file"
echo "$(( RANDOM % 60 )) $(( RANDOM % 24 ))  * * * root /usr/bin/flock -n /var/run/cloudlinux_summary_rpm.cronlock /usr/sbin/cloudlinux-summary rpm-packages --send --json &> /dev/null" >>  "$cloudlinux_cron_file"
# LU-2603 send statistics on first boot
echo "@reboot root test -f /var/lve/.boot_statistics_sent || { /usr/bin/flock -n /var/run/cloudlinux_summary.cronlock /usr/sbin/cloudlinux-summary --send --json &> /dev/null && touch /var/lve/.boot_statistics_sent; }" >> "$cloudlinux_cron_file"

# Install LU-1751 cloudlinux_domains_collector monthly cron

# LU-1903. Part 2. Cron file versioning mechanism
# We are creating cron file only if absent or have old version
CRON_CURRENT_VER="<None>"
if [[ -f $app_detector_cron_ver_file ]]; then
    CRON_CURRENT_VER=`cat "$app_detector_cron_ver_file"`
fi

avd_cron_cmd='/usr/bin/cloudlinux_domains_collector | /opt/app-version-detector/app-version-detector-wrapper.sh --send-stats --scan-depth=2'

if [[ ! -f "$crondir_dom_coll_file" || "$CRON_CURRENT_VER" != "$app_detector_cron_ver" ]]; then
    # versions differ, update cron
    DAY=$[ ( RANDOM % 27 ) + 1 ]
    cron_file_content="$(( RANDOM % 60 )) $(( RANDOM % 24 )) $DAY * * root /usr/bin/flock -n /var/run/cloudlinux_domains_collector.cronlock $avd_cron_cmd"

    echo "$cron_file_content" > "$crondir_dom_coll_file"
    echo "$app_detector_cron_ver" > "$app_detector_cron_ver_file"
fi
if [[ ! -f "$force_collecting_domains_is_done" && ! -f "$force_collecting_domains_cron_file" ]]; then
    # run the crontask in the next five days
    DAY=$(date -d 'now + '$(( RANDOM % 5 + 1 ))'days' +%d)
    cron_file_content="$(( RANDOM % 60 )) $(( RANDOM % 24 )) $DAY * * root /usr/bin/flock -n /var/run/cloudlinux_domains_collector.cronlock $avd_cron_cmd \
    && touch $force_collecting_domains_is_done && rm -f $force_collecting_domains_cron_file"

    echo "$cron_file_content" > "$force_collecting_domains_cron_file"
fi

if ! /usr/bin/cldetect --detect-cp | grep 'ISPManager' > /dev/null ; then
    if [[ -f $solo_marker || -f $container_marker ]]; then
        rm -rf /etc/cron.d/lveutils-panel-cron
    else
        cp -f /usr/bin/lveutils-panel-cron /etc/cron.d/lveutils-panel-cron
        chmod 0644 /etc/cron.d/lveutils-panel-cron
    fi
fi

# TODO: remove this when we get monitoring back
if [[ -f $solo_marker || -f $container_marker ]]; then
    rm -rf /etc/cron.d/cl_plus
else
    ln -sf "$_clshare_crons"/cl_plus /etc/cron.d/cl_plus
fi

if [ -f /proc/lve/list ]; then
    /usr/sbin/processpaneluserspackages
fi
if [ -e "/etc/cron.d/lveutils-cpanel-cron" ]; then
    rm -f /etc/cron.d/lveutils-cpanel-cron
fi

if [[ ! -f $solo_marker && ! -f $container_marker ]]; then
    # Move `fs.proc_super_gid` and `fs.symlinkown_gid` to /etc/sysctl.d/90-cloudlinux.conf from /etc/sysctl.conf
    "$cl_venv_path"/bin/cl_sysctl migrate --parameter fs.proc_super_gid
    "$cl_venv_path"/bin/cl_sysctl migrate --parameter fs.symlinkown_gid

    # set securelinks gid if httpd gid != 48 (default)
    /usr/bin/cldetect --set-securelinks-gid > /dev/null

    # setup fs.proc_super_gid for few special users
    /usr/bin/cldetect --setup-supergids > /dev/null
fi

# run license check on install/update
/usr/bin/cldetect --update-license > /dev/null  2>&1

if [[ ! -f $solo_marker && ! -f $container_marker ]]; then
    # start services
    /sbin/service lve_namespaces restart > /dev/null 2>&1
    /sbin/service lvectl restart > /dev/null 2>&1
fi
# this is not needed on CL Solo, cause option just enables lve patches applying
# for apache/php/mysql
# LU-1654: set cloudlinux=yes parameter in /usr/local/directadmin/custombuild/options.conf
if [[ "DirectAdmin" == "$(/usr/bin/cldetect --detect-cp-nameonly)" ]]; then
    if [[ ! -f $solo_marker ]]; then
        /usr/local/directadmin/custombuild/build set cloudlinux yes
    else
        /usr/local/directadmin/custombuild/build set cloudlinux no
    fi
fi

# populate cache with current control panel name
/usr/bin/flock -n /var/run/cloudlinux_panel-detect.cronlock /usr/bin/package_reinstaller.py init

# "lve-utils POST TRANS FINISHED"
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg