This commit is contained in:
kyodev 2017-09-06 14:07:34 +02:00
parent b795948f14
commit 67d685c1ff
2 changed files with 26 additions and 22 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
version=1.7.0 version=1.8.0
date="04/09/2017" date="06/09/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"
@ -287,13 +287,13 @@ figet_ip_public(){ # v03/09/2017
} }
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove # inscription dans tache upgrade en anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove
fscript_cronAnacron(){ # v30/08/2017 fscript_cronAnacron(){ # v06/09/2017
local dirAnacron dirSpool fileAnacron local dirAnacron dirSpool fileAnacron
[ "$(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
dirAnacron="/home/$user_/.config/anacron" dirAnacron="/home/$user_/.config/anacron"
dirSpool="$dirAnacron/spool" dirSpool="$dirAnacron/spool"
fileAnacron="$dirAnacron/$script.anacrontab" fileAnacron="$dirAnacron/$script.anacrontab"
[ $EUID -eq 0 ] && sed -i "/$script.anacrontab/d" /etc/crontab [ "$EUID" -eq 0 ] && sed -i "/$script.anacrontab/d" /etc/crontab
case "$1" in case "$1" in
install | upgrade ) install | upgrade )
mkdir -p "$dirAnacron" mkdir -p "$dirAnacron"
@ -305,8 +305,8 @@ fscript_cronAnacron(){ # v30/08/2017
fi fi
# création spool anacron utilisateur # création spool anacron utilisateur
mkdir -p "$dirSpool" mkdir -p "$dirSpool"
chown -R "$user_": "$dirAnacron" "$dirSpool" chown -R "$user_:" "$dirAnacron" "$dirSpool"
if [ $EUID -eq 0 ]; then if [ "$EUID" -eq 0 ]; then
# crontab pour activation horaire anacron # crontab pour activation horaire anacron
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
fi fi
@ -338,12 +338,12 @@ fscript_get_version(){ # v27/08/2017
} }
# installation du script dans le système # installation du script dans le système
fscript_install(){ # v29/08/2017 fscript_install(){ # v06/09/2017
if grep -q 'bin' <<< "$(dirname $0)" ; then 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" f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )$COLOR"
return 1 return
fi fi
if [ $EUID -ne 0 ]; then if [ "$EUID" -ne 0 ]; then
f__info "$RED""vous devez être ROOT pour installer ce script dans le système$COLOR" f__info "$RED""vous devez être ROOT pour installer ce script dans le système$COLOR"
return 3 return 3
fi fi
@ -359,13 +359,13 @@ fscript_install(){ # v29/08/2017
# création fichier log # création fichier log
touch "$fileLogs" touch "$fileLogs"
chmod 644 "$fileLogs" chmod 644 "$fileLogs"
chown "$user_": "$fileLogs" "/opt/bin/$script" chown "$user_:" "$fileLogs" "/opt/bin/$script"
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (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" "$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(){ # v29/08/2017 fscript_remove(){ # v06/09/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then 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" f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)$COLOR"
return 1 return 1
@ -374,37 +374,37 @@ fscript_remove(){ # v29/08/2017
f__info "$RED$script n'est pas installé$COLOR" f__info "$RED$script n'est pas installé$COLOR"
return 2 return 2
fi fi
if [ $EUID -ne 0 ]; then if [ "$EUID" -ne 0 ]; then
f__info "$RED""vous devez être ROOT pour supprimer ce script dans le système$COLOR" f__info "$RED""vous devez être ROOT pour supprimer ce script dans le système$COLOR"
return 3 return 3
fi fi
# 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"
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(){ # v29/08/2017 fscript_update(){ # v06/09/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then 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" f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)$COLOR"
return 1 return
fi fi
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 $version" f__info "log" "pas de mise à jour disponible pour $script $version"
return 0 return 0
fi fi
local dirTemp="/tmp/$script-$RANDOM/" local dirTemp="/tmp/$script-$RANDOM"
mkdir -p "$dirTemp" mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript" wget -q --tries=2 --timeout=15 -O "$dirTemp/$script" "$urlScript"
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
chmod 755 "$dirTemp$script" chmod 755 "$dirTemp/$script"
chown "$user_": "$dirTemp$script" chown "$user_:" "$dirTemp/$script"
cp -d "$dirTemp$script" /opt/bin/"$script" cp -d "$dirTemp/$script" "/opt/bin/$script"
rm -rf "$dirTemp" rm -rf "$dirTemp/"
fscript_cronAnacron "upgrade" fscript_cronAnacron "upgrade"
f__info "log" "$script mis à jour en version $versionScript" f__info "log" "$script mis à jour en version $versionScript"
} }

View File

@ -1,6 +1,10 @@
# changelog getIp # changelog getIp
## 1.8.0 06/09/2017
* maj fscript_cronAnacron, fscript_update, fscript_install, fscript_remove
## 1.7.0 04/09/2017 ## 1.7.0 04/09/2017
* nouveau IFS * nouveau IFS