mirror of https://framagit.org/kyodev/kyopages.git
1.8.0
This commit is contained in:
parent
fcb465ff47
commit
dda02b7cbb
166
scripts/getInfo
166
scripts/getInfo
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=1.7.0
|
||||
date="28/08/2017"
|
||||
version=1.8.0
|
||||
date="30/08/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
script="getInfo"
|
||||
|
@ -181,6 +181,33 @@ f__wget_test(){ #v28/08/2017
|
|||
exit 0
|
||||
}
|
||||
|
||||
f_help(){
|
||||
printf "$BLUE"
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
./getInfo : exécution normale
|
||||
getInfo : exécution normale si script installé dans le système
|
||||
|
||||
options:
|
||||
-d, --dmesg : dmesg erreur, warning, critique. root requis, rapport seul de dmesg
|
||||
-h, --help : affichage aide
|
||||
--ip : affiche ip(s) publique(s) (ipv4 / ipv6), /!\ infos confidentielles, sans rapport
|
||||
-l, --list : afficher le rapport existant
|
||||
-p, --paste : exporte le rapport existant, durée du paste standard 7 jours
|
||||
-s, --ssid : affiche configurations ssid /!\ infos confidentielles
|
||||
pas de rapport, root et NetworkManager requis
|
||||
|
||||
debug : le résultat json du paste sera affiché après export
|
||||
-tn : durée du paste de n jour(s)
|
||||
|
||||
-i, --install : installation du script dans le système, droits root requis
|
||||
-r, --remove : suppression du script dans le système, droits root requis
|
||||
-u, --upgrade : upgrade script si maj possible
|
||||
-v, --version : version du script, en ligne et en cours d'exécution
|
||||
EOF
|
||||
printf "$COLOR\n"
|
||||
}
|
||||
|
||||
# assigne $context_appli, context_break
|
||||
fi__context(){
|
||||
context_break="\n"
|
||||
|
@ -353,30 +380,6 @@ fi_gpu(){
|
|||
echo -e "$text" >> "$fileOutput"
|
||||
}
|
||||
|
||||
fi_help(){
|
||||
printf "$BLUE"
|
||||
cat << 'EOF'
|
||||
----------------------------------------------------------------------
|
||||
./getInfo : exécution normale
|
||||
getInfo : exécution normale si script installé dans le système
|
||||
|
||||
options:
|
||||
-d, --dmesg : dmesg erreur, warning, critique. root requis, rapport seul de dmesg
|
||||
-h, --help : affichage aide
|
||||
--ip : affiche ip(s) publique(s) (ipv4 / ipv6), /!\ infos confidentielles, sans rapport
|
||||
-l, --list : afficher le rapport existant
|
||||
-p, --paste : exporte le rapport existant
|
||||
-s, --ssid : affiche configurations ssid /!\ infos confidentielles
|
||||
pas de rapport, root et NetworkManager requis
|
||||
|
||||
-i, --install : installation du script dans le système, droits root requis
|
||||
-r, --remove : suppression du script dans le système, droits root requis
|
||||
-u, --upgrade : upgrade script si maj possible
|
||||
-v, --version : version du script, en ligne et en cours d'exécution
|
||||
EOF
|
||||
printf "$COLOR\n"
|
||||
}
|
||||
|
||||
fi_localisation(){
|
||||
local locale="$(grep -vE '#|^$' /etc/default/locale)"
|
||||
local timezone="$(cat /etc/timezone)"
|
||||
|
@ -945,7 +948,7 @@ figet_wm() { # thanks neofetch, assigne $wm
|
|||
}
|
||||
|
||||
fipaste(){
|
||||
fipaste_curl_pastery "$fileOutput" "$PasteDuration" "$optDebug"
|
||||
fipaste_curl_pastery "$fileOutput" "$pasteDuration" "$optDebug"
|
||||
# à tester fipaste_curl_markdownshare "$fileOutput"
|
||||
}
|
||||
|
||||
|
@ -1025,13 +1028,16 @@ fscript_get_version(){ # v27/08/2017
|
|||
}
|
||||
|
||||
# installation du script dans le système
|
||||
fscript_install(){ # v27/08/2017
|
||||
[ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel
|
||||
if dirname "$0" | grep -q 'bin' ; then
|
||||
f__info "$RED""$script $version est déjà installé"
|
||||
fscript_install(){ # v29/08/2017
|
||||
if grep -q 'bin' <<< "$(dirname $0)" ; then
|
||||
f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )$COLOR"
|
||||
return 1
|
||||
fi
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
|
||||
if [ $EUID -ne 0 ]; then
|
||||
f__info "$RED""vous devez être ROOT pour installer ce script dans le système$COLOR"
|
||||
return 3
|
||||
fi
|
||||
[ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel
|
||||
f__requis "wget anacron cron"
|
||||
# install /opt
|
||||
mkdir -p /opt/bin/
|
||||
|
@ -1049,8 +1055,19 @@ fscript_install(){ # v27/08/2017
|
|||
}
|
||||
|
||||
# suppression du script dans le système
|
||||
fscript_remove(){ # v27/08/2017
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système"
|
||||
fscript_remove(){ # v29/08/2017
|
||||
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
|
||||
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)$COLOR"
|
||||
return 1
|
||||
fi
|
||||
if [ ! -x "/opt/bin/$script" ];then
|
||||
f__info "$RED$script n'est pas installé$COLOR"
|
||||
return 2
|
||||
fi
|
||||
if [ $EUID -ne 0 ]; then
|
||||
f__info "$RED""vous devez être ROOT pour supprimer ce script dans le système$COLOR"
|
||||
return 3
|
||||
fi
|
||||
# suppression de /opt
|
||||
rm /opt/bin/"$script" &>/dev/null
|
||||
unlink /usr/bin/"$script" &>/dev/null
|
||||
|
@ -1060,10 +1077,14 @@ fscript_remove(){ # v27/08/2017
|
|||
}
|
||||
|
||||
# mise à jour script si dispo
|
||||
fscript_update(){ # v26/08/2017
|
||||
fscript_update(){ # v29/08/2017
|
||||
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
|
||||
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)$COLOR"
|
||||
return 1
|
||||
fi
|
||||
fscript_get_version
|
||||
if [ "$script_aJour" == "ok" ]; then
|
||||
f__info "log" "pas de mise à jour disponible pour $script"
|
||||
f__info "log" "pas de mise à jour disponible pour $script $version"
|
||||
return 0
|
||||
fi
|
||||
local dirTemp="/tmp/$script-$RANDOM/"
|
||||
|
@ -1084,7 +1105,6 @@ export PATH TERM
|
|||
fileOutput="getInfo_rapport.md"
|
||||
fileLogs="/var/log/sdeb_$script.log"
|
||||
fileDev="/opt/bin/fileDev"
|
||||
PasteDuration=7 # durée conservation du paste en jours
|
||||
f__affichage
|
||||
f__user && retourFUser=0 || retourFUser="$?"
|
||||
[ "$retourFUser" -eq 1 ] && f__error "user indéterminé, pour contourner, lancer le script avec:\n USER_INSTALL=user $0 \n"
|
||||
|
@ -1127,51 +1147,69 @@ prg_3(){ # fin de traitements
|
|||
f__info "vous pouvez le visualiser avec $GREEN$script -l$COLOR"
|
||||
}
|
||||
|
||||
options="$@"
|
||||
for i in "$options"; do
|
||||
options=$@
|
||||
# traitement option
|
||||
for i in $options; do
|
||||
case $i in
|
||||
"" )
|
||||
if [ $# -eq 0 ];then
|
||||
prg_1
|
||||
prg_2
|
||||
prg_3
|
||||
fi
|
||||
;; # programme
|
||||
--dmesg | -d )
|
||||
debug )
|
||||
optDebug="debug"
|
||||
;; # si debug, retour json de pastery.net
|
||||
-t* )
|
||||
pasteDuration="$(sed -En 's/-t([0-9]+)/\1/p' <<< $i)"
|
||||
;; # durée de conservation standard du paste en jours
|
||||
esac
|
||||
done
|
||||
[ "$pasteDuration" ] || pasteDuration=7 # durée de conservation standard du paste en jours
|
||||
# purge option des options
|
||||
options="$(sed -E 's/debug[ ]*//g; s/-t[0-9]+//g' <<< $options;)"
|
||||
|
||||
echo "pasteDuration$pasteDuration"
|
||||
echo "options$options"
|
||||
|
||||
# traitement action
|
||||
[ $# -eq 0 ] && options="info"
|
||||
for i in $options; do
|
||||
case $i in
|
||||
info )
|
||||
prg_1
|
||||
prg_2
|
||||
prg_3
|
||||
exit ;; # programme
|
||||
-d | --dmesg )
|
||||
fi_dmesg "dmesg"
|
||||
prg_3
|
||||
;; # rapport dmesg only, root requis
|
||||
exit ;; # rapport dmesg only, root requis
|
||||
--ip )
|
||||
figet_ip_public "IPv4"
|
||||
[ "$ip_public" ] && f__info "raw" "$GREEN ip4: $ip_public"
|
||||
figet_ip_public "IPv6"
|
||||
[ "$ip_public" ] && f__info "raw" "$BLUE ip6: $ip_public\n"
|
||||
;; # affiche ip public
|
||||
--list | -l )
|
||||
exit ;; # affiche ip public
|
||||
-l | --list )
|
||||
[ -e $fileOutput ] && cat $fileOutput || f__info "pas de rapport à afficher"
|
||||
;; # afficher le rapport existant
|
||||
--paste | -p )
|
||||
exit ;; # afficher le rapport existant
|
||||
-p | --paste )
|
||||
fipaste
|
||||
;; # exporte le rapport existant
|
||||
--ssid | -s )
|
||||
exit ;; # exporte le rapport existant
|
||||
-s | --ssid )
|
||||
fi_ssid
|
||||
;; # affiche configurations ssid, root requis
|
||||
exit ;; # affiche configurations ssid, root requis
|
||||
-i | --install )
|
||||
fscript_install
|
||||
;; # installation du script dans le système
|
||||
fscript_install || f_help
|
||||
exit ;; # installation du script dans le système
|
||||
-r | --remove )
|
||||
fscript_remove
|
||||
;; # suppression du script dans le système
|
||||
fscript_remove || f_help
|
||||
exit ;; # suppression du script dans le système
|
||||
-u | --upgrade )
|
||||
opType="upgrade"
|
||||
fscript_update
|
||||
exit ;; # upgrade script si maj possible
|
||||
fscript_update || f_help
|
||||
exit ;; # upgrade script si maj possible
|
||||
-v | --version )
|
||||
fscript_get_version
|
||||
;; # version du script, en ligne et exécuté
|
||||
exit ;; # version du script, en ligne et exécuté
|
||||
-h | --help | * )
|
||||
fi_help
|
||||
;; # affichage help
|
||||
f_help
|
||||
exit ;; # affichage help
|
||||
esac
|
||||
done
|
||||
|
||||
|
|
|
@ -6,6 +6,14 @@
|
|||
* option debug pour retour paste
|
||||
* option délai paste
|
||||
|
||||
## 1.8.0 30/08/2017
|
||||
|
||||
* révision conditions d'utilisations, fscript_install, fscript_remove(), fscript_update
|
||||
* révision appel, fscript_install, fscript_remove(), fscript_update
|
||||
* renommage f_help
|
||||
* options debug et pasteDuration
|
||||
|
||||
|
||||
## 1.7.0 28/08/2017
|
||||
|
||||
* fix bug: localisation fileDev
|
||||
|
|
Loading…
Reference in New Issue