mirror of https://framagit.org/kyodev/kyopages.git
0.4.0
This commit is contained in:
parent
2b19e549c3
commit
08bcc1867c
|
@ -1,9 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
version=0.3.2b1
|
||||
date="07/08/2017"
|
||||
version=0.4.0b1
|
||||
date="08/08/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
|
||||
script="getIp"
|
||||
|
@ -14,6 +12,15 @@ urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/$script"
|
|||
# contributeurs: kyodev
|
||||
#####
|
||||
|
||||
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur
|
||||
f__error() {
|
||||
echo -e "\n$RED Erreur critique: $1 $COLOR"
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
echo "$COLOR"
|
||||
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
# affichage des paramètres en bleu, ligne vide à la fin
|
||||
f__info() {
|
||||
for (( i=1 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
|
@ -31,15 +38,6 @@ f__log(){
|
|||
fi
|
||||
}
|
||||
|
||||
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur
|
||||
f__error() {
|
||||
echo -e "\n$RED Erreur critique: $1 $COLOR"
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
echo "$COLOR"
|
||||
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
# user ayant initié la session graphique, assigne $user_, testé avec mate, gnome, xfce. manque KDE
|
||||
# sortie script sur erreur, gestion variable environnement pour personnaliser l'user avec:
|
||||
# USER_INSTALL=user script
|
||||
|
@ -75,7 +73,7 @@ echo "1 01 ""$script""test nice /opt/bin/$script --upgrade &>/dev/null" > "$file
|
|||
mkdir -p "$dirSpool"
|
||||
chown -R --no-preserve-root "$user_": "$dirSpool"
|
||||
chmod -R --no-preserve-root ug+xw "$dirSpool"
|
||||
# cron tab pour activation horaire anacron
|
||||
# crontab pour activation horaire anacron
|
||||
grep -q ".*$script.anacrontab" /etc/crontab || \
|
||||
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
|
||||
;;
|
||||
|
@ -129,7 +127,6 @@ fscript_install(){
|
|||
fi
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
|
||||
if ! which wget &>/dev/null; then f__error "wget manquant pour exploiter ce script"; fi
|
||||
f__user
|
||||
# install /opt
|
||||
mkdir -p /opt/bin/
|
||||
cp -d "$(basename $0)" "/opt/bin/$script"
|
||||
|
@ -150,7 +147,6 @@ fscript_install(){
|
|||
# suppression du script dans le système
|
||||
fscript_remove(){
|
||||
if [ $EUID -ne 0 ]; then f__error "vous devez être ROOT pour supprimer ce script du système"; fi
|
||||
f__user
|
||||
# suppression de /opt
|
||||
rm /opt/bin/"$script" &>/dev/null
|
||||
unlink /usr/bin/"$script" &>/dev/null
|
||||
|
@ -162,6 +158,29 @@ fscript_remove(){
|
|||
}
|
||||
|
||||
|
||||
fi_help(){
|
||||
echo -e "\n$GREEN $script $version$BLUE"
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
./getIo : exécution normale
|
||||
getIp : exécution normale si script installé dans le système
|
||||
|
||||
ce script requiert une des commandes suivantes pour déterminer l'ip publique :
|
||||
dig (dnsutils) / wget / curl / telnet / nc
|
||||
|
||||
options:
|
||||
--help, -h : affichage aide
|
||||
--install, -i : installation du script dans le système
|
||||
--remove, -r : suppression du script dans le système
|
||||
--upgrade, -u : upgrade script si maj possible
|
||||
--version, -v : version du script, en ligne et en cours d'exécution
|
||||
--ip4 | -4 : affiche ipv4 public
|
||||
--ip6 | -6 : affiche ipv6 public
|
||||
--local | "" : affiche ip / passerelle privées
|
||||
EOF
|
||||
echo -e "$COLOR"
|
||||
}
|
||||
|
||||
get_ip() { # $ip_local, $gateway, $gateway_type, $gateway_one, $ip_local, $ip_local_type, $ifname, $ifname_type
|
||||
ip_local=$(ip route | awk '/proto.*src/ {print $9, "pour",$3}')
|
||||
gateway=$(ip route | awk '/default.*via/ {print $3, "pour", $5}')
|
||||
|
@ -266,29 +285,6 @@ get_ip_public(){ # $1=IPv4|IPv6, assigne $ip_public
|
|||
fi
|
||||
}
|
||||
|
||||
fi_help(){
|
||||
echo -e "\n$GREEN $script $version$BLUE"
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
./getIo : exécution normale
|
||||
getIp : exécution normale si script installé dans le système
|
||||
|
||||
ce script requiert une des commandes suivantes pour déterminer l'ip publique :
|
||||
dig (dnsutils) / wget / curl / telnet / nc
|
||||
|
||||
options:
|
||||
--help, -h : affichage aide
|
||||
--install, -i : installation du script dans le système
|
||||
--remove, -r : suppression du script dans le système
|
||||
--upgrade, -u : upgrade script si maj possible
|
||||
--version, -v : version du script, en ligne et en cours d'exécution
|
||||
--ip4 : affiche ipv4 public
|
||||
--ip6 : affiche ipv6 public
|
||||
--local : affiche ip / passerelle privées
|
||||
EOF
|
||||
echo -e "$COLOR"
|
||||
}
|
||||
|
||||
|
||||
# initialisation
|
||||
PATH='/bin:/usr/bin:/sbin' ; IFS=' '
|
||||
|
@ -296,31 +292,34 @@ PATH='/bin:/usr/bin:/sbin' ; IFS=' '
|
|||
BLUE="$(printf "\033[0;34m")" # info
|
||||
RED="$(printf "\033[0;31m")" # alerte
|
||||
COLOR="$(printf "\033[0m")" # standard
|
||||
|
||||
fileLogs="/var/log/sdeb_$script.log"
|
||||
|
||||
|
||||
for i in $@; do
|
||||
options=$@
|
||||
for i in "$options"; do
|
||||
case $i in
|
||||
--install | -i ) fscript_install ;; # installation du script dans le système
|
||||
--remove | -r ) fscript_remove ;; # suppression du script dans le système
|
||||
--install | -i ) f__user; fscript_install ;; # installation du script dans le système
|
||||
--remove | -r ) f__user; fscript_remove ;; # suppression du script dans le système
|
||||
--version | -v ) fscript_get_version ;; # version du script, en ligne et exécuté
|
||||
--upgrade | -u )
|
||||
f__log "test mise à jour"
|
||||
fscript_get_version
|
||||
fscript_dl ;; # upgrade script si maj possible
|
||||
--ip4 )
|
||||
--ip4 | -4 )
|
||||
get_ip_public "IPv4"
|
||||
echo "$ip_public" ;; # affiche ip v4 public
|
||||
--ip6 )
|
||||
--ip6 | -6 )
|
||||
get_ip_public "IPv6"
|
||||
echo "$ip_public" ;; # affiche ip v6 public
|
||||
--local )
|
||||
--local | "" )
|
||||
get_ip
|
||||
echo "ip $ip_local"
|
||||
echo "passerelle $gateway" ;; # affiche ips locales et passerelles
|
||||
--help | -h | * ) fi_help ;; # affichage help
|
||||
esac
|
||||
done
|
||||
|
||||
exit
|
||||
|
||||
wget -O getIp https://framagit.org/kyodev/kyopages/raw/master/scripts/getIp
|
||||
|
|
Loading…
Reference in New Issue