Statistiques
| Révision :

root / bin / mepRunOnce @ 2

Historique | Voir | Annoter | Télécharger (1,91 ko)

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