|
|
@ -1,3 +1,87 @@ |
|
|
|
|
|
|
|
_black() { echo -e "$(tput setaf 0)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_red() { echo -e "$(tput setaf 1)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_green() { echo -e "$(tput setaf 2)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_yellow() { echo -e "$(tput setaf 3)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_blue() { echo -e "$(tput setaf 4)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_magenta() { echo -e "$(tput setaf 5)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_cyan() { echo -e "$(tput setaf 6)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
_white() { echo -e "$(tput setaf 7)$*$(tput setaf 9)"; } |
|
|
|
|
|
|
|
log () { |
|
|
|
|
|
|
|
local TMPDIR="/tmp/" |
|
|
|
|
|
|
|
local LOG="${TMPDIR}/233script.log" |
|
|
|
|
|
|
|
local TYPE=$1 |
|
|
|
|
|
|
|
local MSG=$2 |
|
|
|
|
|
|
|
local TIME=$(date +%Y-%m-%d\ %H:%M:%S) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[ ! -d $TMPDIR ]] && mkdir -p $TMPDIR |
|
|
|
|
|
|
|
if [[ -z $TERM ]]; then #if in cron |
|
|
|
|
|
|
|
echo "[$TIME] $MSG" >> $LOG |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
case "$TYPE" in |
|
|
|
|
|
|
|
info) |
|
|
|
|
|
|
|
_green "[$TIME] $MSG" ;; |
|
|
|
|
|
|
|
warn) |
|
|
|
|
|
|
|
_yellow "[$TIME] $MSG" ;; |
|
|
|
|
|
|
|
err) |
|
|
|
|
|
|
|
_red "[$TIME] $MSG" ;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
echo "[$TIME] $MSG" >> $LOG |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
error () { log err "$1"; } |
|
|
|
|
|
|
|
info () { log info "$1"; } |
|
|
|
|
|
|
|
warn () { log warn "$1";} |
|
|
|
|
|
|
|
disableselinux () { |
|
|
|
|
|
|
|
# Configure SELinux |
|
|
|
|
|
|
|
type selinuxenabled >/dev/null 2>&1 || return 0; |
|
|
|
|
|
|
|
[[ ! -f /etc/selinux/config ]] && return 0; |
|
|
|
|
|
|
|
if selinuxenabled; then |
|
|
|
|
|
|
|
info "disabling SELINUX ..." |
|
|
|
|
|
|
|
setenforce Permissive # disable selinux needs reboot, set to Permissive |
|
|
|
|
|
|
|
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
addtocron () { |
|
|
|
|
|
|
|
local PROG="$1" |
|
|
|
|
|
|
|
local CRONLINE="$2" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# empty crontab |
|
|
|
|
|
|
|
if ! crontab -l >/dev/null 2>&1; then |
|
|
|
|
|
|
|
echo "$CRONLINE" | crontab |
|
|
|
|
|
|
|
info "> crontab empty, added: $CRONLINE" |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
# add if $PROG not exists |
|
|
|
|
|
|
|
if ! crontab -l | grep -q "$PROG"; then |
|
|
|
|
|
|
|
info "> added: $CRONLINE" |
|
|
|
|
|
|
|
(crontab -l; echo "$CRONLINE") | crontab |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
info "> $PROG exists in cron, skipping." |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
removefromcron () { |
|
|
|
|
|
|
|
local PROG="$1" |
|
|
|
|
|
|
|
if crontab -l | grep -q "$PROG"; then |
|
|
|
|
|
|
|
crontab -l | grep -v "$PROG" | crontab |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
disablecronmail() { |
|
|
|
|
|
|
|
if [[ ! -f /etc/sysconfig/crond ]]; then |
|
|
|
|
|
|
|
return 0 |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
sed -i '/^CRONDARGS/d' /etc/sysconfig/crond |
|
|
|
|
|
|
|
if crond -h 2>&1 | grep -- '-s'; then |
|
|
|
|
|
|
|
sed -i '$aCRONDARGS="-s -m off"' /etc/sysconfig/crond |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
sed -i '$aCRONDARGS="-m off"' /etc/sysconfig/crond |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
service crond restart |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_rm() { |
|
|
|
_rm() { |
|
|
|
rm -rf "$@" |
|
|
|
rm -rf "$@" |
|
|
|
} |
|
|
|
} |
|
|
@ -17,15 +101,21 @@ _load() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
get_ip() { |
|
|
|
get_ip() { |
|
|
|
ip=$(curl -s https://ipinfo.io/ip) |
|
|
|
ip=$(curl -4 -s https://ipinfo.io/ip) |
|
|
|
[[ -z $ip ]] && ip=$(curl -s https://api.ip.sb/ip) |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s https://api.ip.sb/ip) |
|
|
|
[[ -z $ip ]] && ip=$(curl -s https://api.ipify.org) |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s https://api.ipify.org) |
|
|
|
[[ -z $ip ]] && ip=$(curl -s https://ip.seeip.org) |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s https://ip.seeip.org) |
|
|
|
[[ -z $ip ]] && ip=$(curl -s https://ifconfig.co/ip) |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s https://ifconfig.co/ip) |
|
|
|
[[ -z $ip ]] && ip=$(curl -s https://api.myip.com | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}") |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s https://api.myip.com | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}") |
|
|
|
[[ -z $ip ]] && ip=$(curl -s icanhazip.com) |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s icanhazip.com) |
|
|
|
[[ -z $ip ]] && ip=$(curl -s myip.ipip.net | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}") |
|
|
|
[[ -z $ip ]] && ip=$(curl -4 -s myip.ipip.net | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}") |
|
|
|
[[ -z $ip ]] && echo -e "\n$red 这垃圾小鸡扔了吧!$none\n" && exit |
|
|
|
[[ -z $ip ]] && echo -e "\n$red 这垃圾小鸡扔了吧!$none\n" && exit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v6ip=$(curl -6 -s https://ifconfig.co/ip) |
|
|
|
|
|
|
|
[[ -z $v6ip ]] && v6ip=$(curl -6 -s https://api.ip.sb/ip) |
|
|
|
|
|
|
|
[[ -z $v6ip ]] && v6ip=$(curl -6 -s https://ip.seeip.org) |
|
|
|
|
|
|
|
[[ -z $v6ip ]] && v6ip=$(curl -6 -s http://icanhazip.com) |
|
|
|
|
|
|
|
[[ -z $v6ip ]] && v6ip=$(curl -6 -s https://api.myip.com | cut -d\" -f4) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
error() { |
|
|
|
error() { |
|
|
|