1 |
|
#!/bin/bash
|
2 |
|
|
3 |
|
minute_defaut=0
|
4 |
|
heure_defaut=7
|
5 |
|
jour_defaut=`date --date tomorrow +%d`
|
6 |
|
mois_defaut=`date --date tomorrow +%m`
|
7 |
|
action_defaut="/sbin/reboot"
|
8 |
|
|
9 |
|
echo "Mise en place d'un RunOnce"
|
10 |
|
echo
|
11 |
|
|
12 |
|
if [ -e /etc/cron.d/runonce ]; then
|
13 |
|
echo "'/etc/cron.d/runonce' existe deja !"
|
14 |
|
exit 1
|
15 |
|
fi
|
16 |
|
|
17 |
|
|
18 |
|
while true; do
|
19 |
|
echo "A quel heure ? (defaut: $heure_defaut)"
|
20 |
|
read heure
|
21 |
|
if [ "x$heure" == "x" ]; then
|
22 |
|
heure=$heure_defaut
|
23 |
|
fi
|
24 |
|
if [ $heure -ge 0 -a $heure -lt 24 ]; then
|
25 |
|
break
|
26 |
|
fi
|
27 |
|
echo "Heure incorrecte !"
|
28 |
|
done
|
29 |
|
while true; do
|
30 |
|
echo "A quel minute ? (defaut: $minute_defaut)"
|
31 |
|
read minute
|
32 |
|
if [ "x$minute" == "x" ]; then
|
33 |
|
minute=$minute_defaut
|
34 |
|
fi
|
35 |
|
if [ $minute -ge 0 -a $minute -lt 60 ]; then
|
36 |
|
break
|
37 |
|
fi
|
38 |
|
echo "Minute incorrecte !"
|
39 |
|
done
|
40 |
|
while true; do
|
41 |
|
echo "Quel mois ? (defaut: $mois_defaut)"
|
42 |
|
read mois
|
43 |
|
if [ "x$mois" == "x" ]; then
|
44 |
|
mois=$mois_defaut
|
45 |
|
fi
|
46 |
|
if [ $mois -ge 1 -a $mois -le 12 ]; then
|
47 |
|
break
|
48 |
|
fi
|
49 |
|
echo "Mois incorrect !"
|
50 |
|
done
|
51 |
|
while true; do
|
52 |
|
echo "Quel jour ? (defaut: $jour_defaut)"
|
53 |
|
read jour
|
54 |
|
if [ "x$jour" == "x" ]; then
|
55 |
|
jour=$jour_defaut
|
56 |
|
fi
|
57 |
|
if [ $jour -ge 1 -a $jour -le 31 ]; then
|
58 |
|
break
|
59 |
|
fi
|
60 |
|
echo "Jour incorrect !"
|
61 |
|
done
|
62 |
|
while true; do
|
63 |
|
echo "Quel action lancer ? (defaut: $action_defaut)"
|
64 |
|
read -e action
|
65 |
|
if [ "x$action" == "x" ]; then
|
66 |
|
action=$action_defaut
|
67 |
|
fi
|
68 |
|
if [ -x $action ]; then
|
69 |
|
break
|
70 |
|
fi
|
71 |
|
echo "Action incorrecte !"
|
72 |
|
done
|
73 |
|
|
74 |
|
let heurerm=heure+1
|
75 |
|
|
76 |
|
RUNEONCE="MAILTO=admin-system@ens-lyon.fr
|
77 |
|
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
78 |
|
|
79 |
|
# m h dom mon dow user command
|
80 |
|
$minute $heure $jour $mois * root $action
|
81 |
|
$minute $heurerm $jour $mois * root /bin/rm -f /etc/cron.d/runonce"
|
82 |
|
|
83 |
|
echo "Voici le cron (/etc/init.d/runonce) :"
|
84 |
|
echo "$RUNEONCE"
|
85 |
|
echo
|
86 |
|
echo "Taper 'oui' pour le mettre en place"
|
87 |
|
read OUI
|
88 |
|
if [ "$OUI" == "oui" ]; then
|
89 |
|
echo "$RUNEONCE" > /etc/cron.d/runonce
|
90 |
|
echo "'/etc/cron.d/runonce' est en place."
|
91 |
|
else
|
92 |
|
echo "ANNULATION !"
|
93 |
|
fi
|