D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
cloudlinux
/
venv
/
usr
/
share
/
python-cllib
/
scripts
/
Filename :
cl-common
back
Copy
#!/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 }