This commit is contained in:
kyodev 2017-08-27 06:58:17 +02:00
parent c17381cd7c
commit 9708c8c24d
2 changed files with 24 additions and 18 deletions

View File

@ -1,12 +1,11 @@
#!/bin/bash #!/bin/bash
version=1.1.0 version=1.2.0
date="27/08/2017" date="27/08/2017"
projet="simpledeb" projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/" contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getIp" script="getIp"
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/$script" urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/$script"
lognameDev="kyodev"
##### license LPRAB/WTFPL ##### license LPRAB/WTFPL
# auteur: simpledeb # auteur: simpledeb
@ -137,7 +136,7 @@ f__wget_test(){ #v25/08/2017
} }
fgi_help(){ fgi_help(){
f__info "\n $GREEN $script $version$BLUE" f__info "$GREEN\n ""$script $version$BLUE"
cat << 'EOF' cat << 'EOF'
---------------------------------------------------------------------- ----------------------------------------------------------------------
./getIp : exécution normale ./getIp : exécution normale
@ -263,7 +262,7 @@ fgi_ip_public(){ # $1=IPv4|IPv6, assigne $ip_public # v18/08/2017
} }
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire # inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
fscript_cronAnacron(){ # v23/08/2017 fscript_cronAnacron(){ # v27/08/2017
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel [ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
local dirAnacron="/home/$user_/.config/anacron" local dirAnacron="/home/$user_/.config/anacron"
local dirSpool="$dirAnacron/spool" local dirSpool="$dirAnacron/spool"
@ -275,8 +274,8 @@ fscript_cronAnacron(){ # v23/08/2017
# table anacron # table anacron
echo "7 10 $script nice /opt/bin/$script --upgrade 1>/dev/null" > "$fileAnacron" # juste erreurs en syslog echo "7 10 $script nice /opt/bin/$script --upgrade 1>/dev/null" > "$fileAnacron" # juste erreurs en syslog
## anacron journalier pour dev logname ## anacron journalier pour dev logname
if [ "$user_" == "$lognameDev" ]; then if [ -e "$fileDev" ]; then
echo "1 00 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron" # juste erreurs en syslog echo "1 00 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron"
fi fi
# création spool anacron utilisateur # création spool anacron utilisateur
mkdir -p "$dirSpool" mkdir -p "$dirSpool"
@ -297,9 +296,9 @@ fscript_cronAnacron(){ # v23/08/2017
} }
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko # version script en ligne, assigne $versionScript, $script_aJour=ok|ko
fscript_get_version(){ # v25/08/2017 fscript_get_version(){ # v27/08/2017
f__requis "wget" f__requis "wget"
f__info "raw" "$GREEN""version script en cours: $version" f__info "raw" "$GREEN\n ""version script en cours: $version"
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)" versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
if [ "$versionScript" ]; then if [ "$versionScript" ]; then
if [ "$version" != "$versionScript" ]; then if [ "$version" != "$versionScript" ]; then
@ -313,10 +312,10 @@ fscript_get_version(){ # v25/08/2017
} }
# installation du script dans le système # installation du script dans le système
fscript_install(){ # v25/08/2017 fscript_install(){ # v27/08/2017
[ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel [ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel
if dirname "$0" | grep -q 'bin' ; then if dirname "$0" | grep -q 'bin' ; then
f__info "\n $script $version est déjà installé" f__info "$RED\n ""$script $version est déjà installé"
return 1 return 1
fi fi
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système" [ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
@ -332,23 +331,24 @@ fscript_install(){ # v25/08/2017
touch "$fileLogs" touch "$fileLogs"
chmod 644 "$fileLogs" chmod 644 "$fileLogs"
chown "$user_": "$fileLogs" "/opt/bin/$script" chown "$user_": "$fileLogs" "/opt/bin/$script"
[ -e "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev) [ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)" f__info "log" "\n $script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
} }
# suppression du script dans le système # suppression du script dans le système
fscript_remove(){ # v21/08/2017 fscript_remove(){ # v27/08/2017
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système" [ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système"
# suppression de /opt # suppression de /opt
rm /opt/bin/"$script" &>/dev/null rm /opt/bin/"$script" &>/dev/null
unlink /usr/bin/"$script" &>/dev/null unlink /usr/bin/"$script" &>/dev/null
# cron/anacron remove # cron/anacron remove
fscript_cronAnacron "remove" fscript_cronAnacron "remove"
echo
f__info "log" "$script $version supprimé du système." f__info "log" "$script $version supprimé du système."
} }
# mise à jour script si dispo # mise à jour script si dispo
fscript_update(){ # v25/08/2017-2 fscript_update(){ # v26/08/2017
fscript_get_version fscript_get_version
if [ "$script_aJour" == "ok" ]; then 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"
@ -377,6 +377,7 @@ PATH='/usr/sbin:/usr/bin:/sbin:/bin' ; IFS=' '; TERM=xterm
export PATH TERM export PATH TERM
f__affichage f__affichage
fileLogs="/var/log/sdeb_$script.log" fileLogs="/var/log/sdeb_$script.log"
fileDev="fileDev"
f__requis "gawk wget ip>iproute2" # requis pour fonctionnement programme f__requis "gawk wget ip>iproute2" # requis pour fonctionnement programme
options="$@" options="$@"
@ -396,10 +397,12 @@ for i in "$options"; do
echo -e "\tpasserelle(s):\n$gateway_type" echo -e "\tpasserelle(s):\n$gateway_type"
;; # affiche ip locales ;; # affiche ip locales
-i | --install ) -i | --install )
testuser && fscript_install testuser
fscript_install
;; # installation du script dans le système ;; # installation du script dans le système
r | --remove ) -r | --remove )
testuser && fscript_remove testuser
fscript_remove
;; # suppression du script dans le système ;; # suppression du script dans le système
-u | --upgrade ) -u | --upgrade )
testuser testuser

View File

@ -1,9 +1,12 @@
# changelog getIp # changelog getIp
## 1.1.0 27/08/2017 ## 1.2.0 27/08/2017
* fix bug upgrade * fix bug upgrade
* fix bug install/remove
* fscript_cronAnacron, fscript_install : changement lognameDev ->fileDev
* révision présentation fscript_get_version, fscript_install, fscript_remove
## 1.0.3 26/08/2017 ## 1.0.3 26/08/2017