Bonjour tout le monde.
J’ai fais un script shell qui permet de supprimer le contenu du répertoire “/home/” si l’espace disque occupé est supérieur à 95% de celui-ci.
Lorsque je lance le script à la main, pas de soucis.
root@PC-01#/etc/init.d/dfutil.sh start
root@PC-01# cat /var/log/dfutil.log
Le script a été lancé !
Pas de suppression de données le 20150917-14h18m - 71% utilisé
Par contre, celui-ci ne fonctionne pas en tant que service :
root@PC-01# update-rc.d dfutil.sh start 25 2 . stop 25 0 6 .
update-rc.d: using dependency based boot sequencing
insserv: Service ssh has to be enabled to start service dfutil.sh
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
#!/bin/sh
### BEGIN INIT INFO
# Provides: dfutil.sh
# Required-Start: ssh
# Required-Stop:
# Default-Start: 2
# Default-Stop: 0 6
# Short-Description: ./dfutil.sh start
# Description: suppression des données si supérieur a 95% du HDD
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
d_start () {
UTIL=$(df -h | grep rootfs | cut -c '74-76')
DATE=$(echo `date "+%Y%m%d-%Hh%Mm"`)
if [ $UTIL -ge 95 ]
then
echo "Suppression de données le $DATE - $UTIL% utilisé" >> /var/log/dfutil.log
######## rm -Rf /home/* #######
else
echo "Pas de suppression de données le $DATE - $UTIL% utilisé" >> /var/log/dfutil.log
fi
}
case "$1" in
start)
echo 'Le script a été lançé !' >> /var/log/dfutil.log
d_start
;;
stop)
echo 'Le script a été arrêté !' >> /var/log/dfutil.log
# No-op
;;
esac
exit 0
root@PC-01# uname -ra
Linux PC-01 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64 GNU/Linux
root@PC-01# lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 7.8 (wheezy)
Release: 7.8
Codename: wheezy
Une idée ?
Merci