93 lines
3.1 KiB
Bash
93 lines
3.1 KiB
Bash
#!/bin/bash
|
|
#Bash-Library for TerabyteTerminator Project
|
|
LIBVER=1.1
|
|
|
|
{ #set enviroemnt
|
|
readonly TRUE=1 #like <stdbool.h>
|
|
readonly FALSE=0 #like <stdbool.h>
|
|
readonly TTSYNC_EXIST=0 #file exist local
|
|
readonly TTSYNC_BACKUP=1 #file exist local - backup exist
|
|
readonly TTSYNC_REMOTE=2 #file exists remote - not used jet
|
|
readonly TTSYNC_DEL=3 #local file deleted
|
|
readonly globalconf="/etc/tt/global"
|
|
[ -z "$DEBUG" ] && readonly DEBUG=$FALSE
|
|
|
|
#ERROR Returns
|
|
readonly ERROR_CONFIG=2
|
|
readonly ERROR_DBLINK=20
|
|
}
|
|
|
|
# file_size <path> -> (du -b)/1024 [Kb]
|
|
function file_size() {
|
|
if [ -f "$1" ]; then
|
|
echo $(($(du -b "$1" | cut -f 1)/1024))
|
|
else
|
|
echo 0
|
|
fi
|
|
}
|
|
|
|
# db_check -> TRUE/FALSE
|
|
function db_check() {
|
|
db_query "SHOW GRANTS FOR CURRENT_USER();" > /dev/null 2> /dev/null
|
|
if [ $? == 0 ]; then
|
|
echo $TRUE
|
|
else
|
|
echo $FALSE
|
|
fi
|
|
}
|
|
|
|
# db_query <query> -> result
|
|
function db_query() {
|
|
local args="-sN" #no headers, no grid
|
|
args+=" -h$dbhost"
|
|
args+=" -u$dbuser"
|
|
[ -n "$dbpwd" ] && args+=" -p$dbpwd"
|
|
[ -n "$dbport" ] && args+=" -P$dbport"
|
|
args+=" $dbname"
|
|
[ $DEBUG == $TRUE ] && echo $@ >&2
|
|
echo $@ | mysql $args
|
|
}
|
|
|
|
# config_load()
|
|
function config_load() {
|
|
|
|
#load functions from LIB
|
|
if [ -f "$globalconf" ]; then
|
|
local config="$globalconf"
|
|
elif [ -f "$(readlink -f "$(dirname $0)/../../src/etc/tt/global")" ]; then
|
|
local config="$(readlink -f "$(dirname $0)/../../src/etc/tt/global")"
|
|
else
|
|
echo "ERROR: Global Config not found"
|
|
exit 255
|
|
fi
|
|
|
|
#load db settings
|
|
readonly dbname=$(grep -v '#' $config | grep ^dbname= | sed "s|^dbname=||g" | tr -d '"')
|
|
readonly dbhost=$(grep -v '#' $config | grep ^dbhost= | sed "s|^dbhost=||g" | tr -d '"')
|
|
readonly dbuser=$(grep -v '#' $config | grep ^dbuser= | sed "s|^dbuser=||g" | tr -d '"')
|
|
readonly dbpwd=$(grep -v '#' $config | grep ^dbpwd= | sed "s|^dbpwd=||g" | tr -d '"')
|
|
readonly dbport=$(grep -v '#' $config | grep ^dbport= | sed "s|^dbport=||g" | tr -d '"')
|
|
#db checks
|
|
[ "$(db_check)" == $FALSE ] && {
|
|
echo "DB ERROR!!" >&2
|
|
exit $ERROR_DBLINK
|
|
}
|
|
|
|
#set moviedir
|
|
{
|
|
moviedir="$(echo $moviedir | sed 's|/$||g')" #remove last '/'
|
|
[ -z "$moviedir" ] && [ -f "$config" ] && { # if (no argument) and (globalconf exist)
|
|
if [ -z "$(grep "moviedir=" "$config" )" ]; then # and (moviedir is NOT in globalconf)
|
|
echo 'ERROR: NO Guilty moviedir SET'
|
|
exit $ERROR_CONFIG
|
|
else # and (moviedir is in globalconf)
|
|
readonly moviedir="$(grep "moviedir=" "$config" | cut -d '=' -f 2 | tr -d '"' | sed 's|/$||g')"
|
|
fi
|
|
}
|
|
[ -d "$moviedir" ] || {
|
|
echo 'ERROR: NO Guilty moviedir SET'
|
|
exit $ERROR_CONFIG
|
|
}
|
|
}
|
|
}
|