Current File : //opt/cloudlinux/venv/usr/share/python-cllib/scripts/cl-common |
#!/bin/bash
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
##################################################
# Common functions #
##################################################
VERSION="2.0"
common_current_date=`date +%Y-%m-%d`
function getLogFile(){
#1 - common path
if [ ! -e "$1/logs" ];then
mkdir -p "$1/logs"
fi
current_date_time=`date +"%Y-%m-%d %k:%M:%S"`
echo "$1/logs/$common_current_date.log"
}
function writeToLog(){
#1 - message
#2 - common path
if [ ! -e "$2/logs" ];then
mkdir -p "$2/logs"
fi
current_date_time=`date +"%Y-%m-%d %k:%M:%S"`
prg=`basename "$0"`
echo "[$current_date_time from $prg] $1" >> "$2/logs/$common_current_date.log"
}
function writeFileToLog(){
#1 - file path
#2 - common path
if [ ! -e "$2/logs" ];then
mkdir -p "$2/logs"
fi
current_date_time=`date +"%Y-%m-%d %k:%M:%S"`
prg=`basename "$0"`
echo "[$current_date_time from $prg] ----------------File Content $1 BEG---------------" >> "$2/logs/$common_current_date.log"
if [ -e "$1" ];then
cat $1 >> "$2/logs/$common_current_date.log"
fi
echo "[$current_date_time from $prg] ----------------File Content $1 End---------------" >> "$2/logs/$common_current_date.log"
}
function removeEmptyStringsFromFile(){
filename="$1"
res=`sed -e '/^$/d' $filename`
echo "$res" > $filename
}
function deleteAllExcept(){
#1 - hook
#2 - tmp name
#3 - pattern
#4 - common path
if [ ! -e "$4/tmp" ]; then
mkdir -p "$4/tmp"
fi
if [ -e "$1" ];then
cat "$1" | sed -n "$3" > "$4/tmp/$2.tmp.$$"
echo "#!/bin/bash" > "$1"
cat "$4/tmp/$2.tmp.$$" >> "$1"
rm -f "$4/tmp/$2.tmp.$$"
fi
}
function deleteAllInclude(){
#1 - hook
#2 - tmp name
#3 - pattern
#4 - common path
if [ ! -e "$4/tmp" ]; then
mkdir -p "$4/tmp"
fi
if [ -e "$1" ];then
cat "$1" | sed "$3" > "$4/tmp/$2.tmp.$$"
cat "$4/tmp/$2.tmp.$$" > "$1"
rm -f "$4/tmp/$2.tmp.$$"
fi
}
function showBar {
nmb=$(cat $0 | grep showBar | wc -l)
let "nmb = $nmb"
let "prct = $1 * 30 / $nmb"
let "prct_n = $1 * 100 / $nmb"
prg=`basename "$0"`
echo -n "$prg: [" >&2
for bar in {1..30}
do
if [ $bar -le $prct ];then
echo -n "#" >&2
else
echo -n " " >&2
fi
done
echo -ne "] ($prct_n%)\r" >&2
}
function get_command(){
command=$(which $1)
if [ $? != 0 ]; then
writeToLog "Can't execute command $1..."
exit 1;
fi
echo $command
}
function createHookHeader(){
#1 - hook name
#2 - modificator
#3 - common path
if [ ! -e "$3/tmp" ]; then
mkdir -p "$3/tmp"
fi
if [ ! -e "$1" ]; then
echo "#!/bin/bash" > "$1"
chmod 755 "$1"
else
chmod 755 "$1"
tmp=`/bin/sed -n '/#\!\/bin\/\(ba\)\?sh/p' "$1"`
if [ -z "$tmp" ];then
/bin/grep -q "$1.$2.bak" "$1"
if [ $? = 1 ];then
mv -f "$1" "$1.$2.bak"
echo "#!/bin/bash" > "$1"
echo "$1.$2.bak"' "$@"' >> "$1"
chmod 755 "$1"
chmod 755 "$1.$2.bak"
fi
fi
fi
}
function checkHookString(){
#1 - hook name
#2 - pattern string
#3 - comment srting
if [ -e "$1" ];then
tmp=`cat "$1" | grep "$2"`
if [ -z "$tmp" ];then
echo "$2 #$3" >> $1
fi
fi
}
function addHookStringFirst(){
#1 - hook name
#2 - pattern string
#3 - comment srting
#4 - short hook name
#5 - common path
if [ -e "$1" ];then
cat $1 | sed /$4/d | sed 1a"$2 #$3" > "$5/tmp/future_hook.tmp.$$"
cat "$5/tmp/future_hook.tmp.$$" > "$1"
rm -f "$5/tmp/future_hook.tmp.$$"
fi
}
function getEasyApacheDir(){
if [ -e /usr/home/cpeasyapache ]; then
echo "/usr/home/cpeasyapache"
elif [ -e /home/cpeasyapache ]; then
echo "/home/cpeasyapache"
else
echo "/var/cpanel/cpeasyapache"
fi
}
function is_ea4(){
if [ -e '/etc/cpanel/ea4/is_ea4' ]; then
return 0
else
return 1
fi
}