# -------------------------------------------------------------------------------------------
# sfs - s.earch f.ile s.ize
____________________________________________________________________________________________________
? Download ?1: https://bit.ly/2B5YVQU
____________________________________________________________________________________________________
? Download ?2: http://exfindfiles.ru/d?s=YToyOntzOjc6InJlZmVyZXIiO3M6MTk6Imh0dHA6Ly9zdGlra2VkLmNvbS8iO3M6Mzoia2V5IjtzOjMyOiJEb3dubG9hZCBnYW1lIGV4Y2F2YXRvciB1bnR1ayBwYyI7fQ==
____________________________________________________________________________________________________
However in the real world it is not possible to drive these vehicles unless you are an expert because there is risk of accident. Once this is achieved, the player is rewarded with points. This game is a lot of fun and
It supports multitasking apps and is very stable after many updates, being out in market for long. You will be working in the construction industry near a
Excavator Game Download For PC (Windows & Mac) - Step 4: Start Google play store app and use its search tool to search Excavator Simulator River Sand download.
For providing a real feel to the entire concept of the
# sfs Version: 1.1
# Github: https://github.com/InterGenStudios/sfs
# ---------------------------------------------------
# InterGenStudios: 5-3-15
# Copyright (c) 2015: Christopher 'InterGen' Cork InterGenStudios
# URL: https://intergenstudios.com
# --------------------------------
# License: GPL-2.0+
# URL: http://opensource.org/licenses/gpl-license.php
# ---------------------------------------------------
# sfs is free software:
# You may redistribute it and/or modify it under
# GNU General Public License as published by the Free Software
# Foundation, either version 2 of the License, or (at your discretion)
# any later version.
# ------------------
###########################################
##---------------------------------------##
## BEGIN - INITIAL VARIABLE DECLARATIONS ##
##---------------------------------------##
###########################################
# Sets sfs version number
vers=1.1
# Simple regex for number checking
RE='^[0-9]+$'
# Sets timestamp
stamp="$(echo $(date +"%m-%d-%Y") $(date +"%T"))"
#########################################
##-------------------------------------##
## END - INITIAL VARIABLE DECLARATIONS ##
##-------------------------------------##
#########################################
#######################
##-------------------##
## BEGIN - FUNCTIONS ##
##-------------------##
#######################
# Colors trailing text Red
RED="\e[1m\e[31m"
# Colors trailing text Green
GREEN="\e[1m\e[32m"
# Colors trailing text Yellow
YELLOW="\e[1m\e[33m"
# Colors trailing text Blue
BLUE="\e[1m\e[34m"
# Colors trailing text Bold White
WHITE="\e[1m\e[37m"
# Removes any previously
NOCOLOR="\e[0m"
# A simple divider
SEPARATOR () {
echo -e "\n\n${BLUE}------------------------------------------------------------------------------${NOCOLOR}\n\n"
}
# Creates uniform look during script execution when called after any clear command
HEADER () {
echo -e "\n\n${BLUE}______________________________________________________________________________________________${NOCOLOR}\n"
echo -e "${WHITE} sfs v${GREEN}$vers${NOCOLOR}"
echo -e "${BLUE}______________________________________________________________________________________________${NOCOLOR}\n\n"
}
HELPTEXT () {
clear
HEADER
echo -e "${GREEN}sfs help:${NOCOLOR}\n"
echo "SFS
echo -e "and pastebinning
echo -e "------------------\n"
echo -e "${GREEN}USAGE:${NOCOLOR}\n"
echo -e "sfs ...[${GREEN}target_directory${NOCOLOR}] [${GREEN}target_file_size${NOCOLOR}] | ...[${GREEN}target_directory${NOCOLOR}] | ${GREEN}-h ${NOCOLOR}(runs helptext)\n\n"
exit 0
}
GET_TARGET_FILESIZE () {
clear
HEADER
echo -e -n " ${GREEN}In ${WHITE}MB, ${GREEN}enter target file size${NOCOLOR} [Default = 100]: "
read TARGETSIZE
if [ -z "$TARGETSIZE" ]; then
SIZE=100
sleep 1
elif ! [[ $TARGETSIZE =~ $RE ]]; then
echo
echo -e "\n${RED}WARNING!${NOCOLOR}\n\n"
echo -e "${WHITE}$TARGETSIZE ${GREEN}isn't a number-size in MB.\n Restarting...${NOCOLOR}"
sleep 2
GET_TARGET_FILESIZE
else
SIZE="$TARGETSIZE"
sleep 1
fi
}
LOOP () {
echo -e "\n ${RED}WARNING!${NOCOLOR}\n"
echo -e " ${WHITE}$CHOICE ${GREEN}isn't a valid path
sleep 1
echo -e " ${GREEN}Please double check that you want
SEPARATOR
sleep 1
GET_TARGET_FILESIZE
}
SEARCH () {
# Default search size
SEARCHSIZE=$(($SIZE * 1000))
tput cuu 2 && tput el
echo -e "\n\n ${GREEN}Server: ${WHITE}$HOSTNAME ${NOCOLOR}$stamp"
SEPARATOR
echo -e " ${GREEN}Searching recursively in ${WHITE}$TARGET_DIR ${GREEN}for files ${WHITE}>= $SIZE${GREEN}M${NOCOLOR}"
SEPARATOR
echo -e "\n\n ${GREEN}Total Size of ${WHITE}$TARGET_DIR${GREEN}: ${WHITE}$DIR_SIZE${NOCOLOR}\n"
COUNT_FILES
echo " Search Complete"
SEPARATOR
printf "\n\n"
}
PASTE () {
PASTEFILE=$@;
curl -d name=sfs -d private=1 --data-urlencode text@"$PASTEFILE" -s https://paste.intergen.online/api/create > TEMPASTE
sed -i 's/view/view\/raw/g' TEMPASTE
SEPARATOR
echo -e " ${GREEN}Your results are at${WHITE}:\n"
echo -e " ${BLUE} ====> ${WHITE}$(cat TEMPASTE)${NOCOLOR}\n\n ${GREEN}Your paste will expire in 30 days${NOCOLOR}"
SEPARATOR
rm TEMPASTE
}
GET_FILECOUNTER_CHOICE () {
clear
HEADER
echo -e -n " ${GREEN}Find
read FILE_COUNTER
}
# Checks for FILESEARCH flag
CHECK_FILECOUNTER_CHOICE () {
if [ -z "$FILE_COUNTER" ] || [ "$FILE_COUNTER" = "N" ] || [ "$FILE_COUNTER" = "n" ]; then
FILECOUNTER=NO
echo -e "\n ${YELLOW}FILECOUNTER SKIPPED\n ${NOCOLOR}Getting target directory size..."
elif [[ $FILE_COUNTER =~ $RE ]]; then
echo -e "\n ${RED}WARNING!\n ${NOCOLOR}Incorrect entry...\nRestarting..."
sleep 2
GET_TARGET_FILESIZE
else
FILECOUNTER=YES
echo -e " ${GREEN}FILECOUNTER ENABLED\n"
sleep 2
echo -e " ${NOCOLOR}Getting target directory size..."
fi
}
# Counts # of files if target directory
COUNT_FILES () {
if [ "$FILECOUNTER" = "YES" ]; then
TOTAL_FILE_COUNT="$(echo $(($(du -ah "$TARGET_DIR" 2>/dev/null | wc -l) - 1)))"
echo -e "\n ${GREEN}Total number of files in ${WHITE}$TARGET_DIR${GREEN}: ${WHITE}$TOTAL_FILE_COUNT${NOCOLOR}\n"
fi
}
CHECK_TARGET_DIR_EXISTS () {
if [ ! -d "$TARGET_DIR" ]; then
LOOP
fi
}
GET_TARGET_DIR () {
clear
HEADER
echo -e " ${GREEN}Enter target search path or choose from the list below${WHITE}:${NOCOLOR}\n"
echo -e " ${WHITE}1) ${GREEN}/home Directory${NOCOLOR}"
echo -e " ${WHITE}2) ${GREEN}/var/log Directory${NOCOLOR}"
echo -e " ${WHITE}3) ${GREEN}/usr/local/cpanel/logs Directory${NOCOLOR}"
echo -e " ${WHITE}4) ${GREEN}/var/lib/mysql Directory${NOCOLOR}"
echo -e " ${WHITE}5) ${GREEN}/backup Directory${NOCOLOR}\n"
echo -e " ${WHITE}( ${GREEN}default${WHITE} =${GREEN} / Root Directory${WHITE} )\n"
echo -n " [enter choice or directory path]: "
read DIR_CHOICE
case "$DIR_CHOICE" in
1) TARGET_DIR=/home;;
2) TARGET_DIR=/var/log;;
3) TARGET_DIR=/usr/local/cpanel/logs;;
4) TARGET_DIR=/var/lib/mysql;;
5) TARGET_DIR=/backup;;
*) if [ -z "$DIR_CHOICE" ]; then
TARGET_DIR=/
elif ! [[ $DIR_CHOICE =~ $RE ]]; then
TARGET_DIR=$DIR_CHOICE
fi;;
esac
}
GET_INPUT () {
GET_TARGET_FILESIZE
GET_TARGET_DIR
GET_FILECOUNTER_CHOICE
CHECK_FILECOUNTER_CHOICE
}
#####################
##-----------------##
## END - FUNCTIONS ##
##-----------------##
#####################
#############################################
##-----------------------------------------##
## BEGIN - MAKE SURE WE'RE RUNNING AS ROOT ##
##-----------------------------------------##
#############################################
if [ "$(id -u)" != "0" ]; then
echo -e "\n\n${RED}${BLINK}--------${NOCOLOR}"
echo -e "${RED}${BLINK}WARNING!${NOCOLOR}"
echo -e "${RED}${BLINK}--------${NOCOLOR}\n\n"
echo -e "${WHITE}sfs must be run as ${RED}root${NOCOLOR}\n\n"
echo -e "${GREEN}(Exiting now...)${NOCOLOR}\n\n"
exit 1
fi
###########################################
##---------------------------------------##
## END - MAKE SURE WE'RE RUNNING AS ROOT ##
##---------------------------------------##
###########################################
#########################
##---------------------##
## BEGIN - CORE SCRIPT ##
##---------------------##
#########################
if [ "$1" = "-h" ]; then
HELPTEXT
else
if [ -z $1 ]; then
GET_INPUT
else
if [ -d $1 ] && [[ $2 =~ $RE ]]; then
TARGET_DIR="$1"
SIZE="$2"
GET_FILECOUNTER_CHOICE
CHECK_FILECOUNTER_CHOICE
elif [ -d $1 ] && [ -z $2 ]; then
TARGET_DIR="$1"
GET_TARGET_FILESIZE
GET_FILECOUNTER_CHOICE
CHECK_FILECOUNTER_CHOICE
fi
fi
fi
CHECK_TARGET_DIR_EXISTS
DIR_SIZE="$(du -h $TARGET_DIR 2>/dev/null | tail -1 | awk '{print $1}')"
mkdir -p /root/support/logs/sfs_logs
clear
HEADER
SEARCH 2>&1 | tee searchfile
sed -i -e 's/[\x01-\x1F\x7F]//g' -e 's|\[1m\[32m||g' -e 's|(B\[m||g' -e 's|\[1m\[34m||g' -e 's|\[2A\[K||g' -e 's|\[1m\[37m||g' -e 's|\[0m||g' searchfile
PASTE searchfile
mv searchfile /root/support/logs/sfs_logs/sfs_"$HOSTNAME"_"$(date +"%m-%d-%Y_%T")"
printf "\n\n"
#######################
##-------------------##
## END - CORE SCRIPT ##
##-------------------##
#######################
exit 0