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
version=1.1.0
version=1.2.0
date="27/08/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getIp"
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/$script"
lognameDev="kyodev"
##### license LPRAB/WTFPL
# auteur: simpledeb
@ -137,7 +136,7 @@ f__wget_test(){ #v25/08/2017
}
fgi_help(){
f__info "\n $GREEN $script $version$BLUE"
f__info "$GREEN\n ""$script $version$BLUE"
cat << 'EOF'
----------------------------------------------------------------------
./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
fscript_cronAnacron(){ # v23/08/2017
fscript_cronAnacron(){ # v27/08/2017
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
local dirAnacron="/home/$user_/.config/anacron"
local dirSpool="$dirAnacron/spool"
@ -275,8 +274,8 @@ fscript_cronAnacron(){ # v23/08/2017
# table anacron
echo "7 10 $script nice /opt/bin/$script --upgrade 1>/dev/null" > "$fileAnacron" # juste erreurs en syslog
## anacron journalier pour dev logname
if [ "$user_" == "$lognameDev" ]; then
echo "1 00 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron" # juste erreurs en syslog
if [ -e "$fileDev" ]; then
echo "1 00 $script""Dev nice /opt/bin/$script --upgrade 1>/dev/null" >> "$fileAnacron"
fi
# création spool anacron utilisateur
mkdir -p "$dirSpool"
@ -297,9 +296,9 @@ fscript_cronAnacron(){ # v23/08/2017
}
# 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__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)"
if [ "$versionScript" ]; then
if [ "$version" != "$versionScript" ]; then
@ -313,10 +312,10 @@ fscript_get_version(){ # v25/08/2017
}
# 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
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
fi
[ $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"
chmod 644 "$fileLogs"
chown "$user_": "$fileLogs" "/opt/bin/$script"
[ -e "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
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
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"
# suppression de /opt
rm /opt/bin/"$script" &>/dev/null
unlink /usr/bin/"$script" &>/dev/null
# cron/anacron remove
fscript_cronAnacron "remove"
echo
f__info "log" "$script $version supprimé du système."
}
# mise à jour script si dispo
fscript_update(){ # v25/08/2017-2
fscript_update(){ # v26/08/2017
fscript_get_version
if [ "$script_aJour" == "ok" ]; then
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
f__affichage
fileLogs="/var/log/sdeb_$script.log"
fileDev="fileDev"
f__requis "gawk wget ip>iproute2" # requis pour fonctionnement programme
options="$@"
@ -396,10 +397,12 @@ for i in "$options"; do
echo -e "\tpasserelle(s):\n$gateway_type"
;; # affiche ip locales
-i | --install )
testuser && fscript_install
testuser
fscript_install
;; # installation du script dans le système
r | --remove )
testuser && fscript_remove
-r | --remove )
testuser
fscript_remove
;; # suppression du script dans le système
-u | --upgrade )
testuser

View File

@ -1,9 +1,12 @@
# changelog getIp
## 1.1.0 27/08/2017
## 1.2.0 27/08/2017
* 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