scripts / upgrade /
Newer Older
46 lines | 0.937kb
ajout script d'upgrade
Sébastien MARQUE authored on 2016-11-04
1
#!/bin/bash
2

            
3
set -e
4

            
ajout de quelques commentair...
Sébastien MARQUE authored on 2016-11-04
5
# le seul paramètre accepté est le nom de la cible 
6
# tel que défini dans le fichier de configuration
ajout script d'upgrade
Sébastien MARQUE authored on 2016-11-04
7
test -n "$1"
8

            
9
nc=/bin/nc
10
wakeonlan=/usr/bin/wakeonlan
11
ssh=/usr/bin/ssh
12

            
13
conf=$HOME/.config/upgrade_hosts.conf
14

            
15
test -r $conf
16

            
ajout de quelques commentair...
Sébastien MARQUE authored on 2016-11-04
17
# pour récupérer les information concernant la cible
corrige une erreur dans l'ut...
Sébastien MARQUE authored on 2016-11-04
18
eval $(/usr/local/bin/readconf --conf=$conf --array=user --array=identity -s $1)
ajout script d'upgrade
Sébastien MARQUE authored on 2016-11-04
19

            
20
test -n "$ip"
21
test -n "$port"
22
test -n "${identity[1]}"
23

            
24
if test -n "$lock"; then
25
    test -f $lock && exit
26
fi
27

            
28
alive=0
29

            
30
if $nc -zw2 $ip $port; then alive=1; fi
31

            
32
if ! $alive; then
33
    $wakeonlan -i $ip $mac
34
    sleep 10
35
    $nc -zw2 $ip $port
36
fi
37

            
38
# la clé publique ${identity[1]} doit contenir la commande d'upgrade
39
$ssh -i ${identity[1]} ${user[1]:-root}@$ip
40

            
41
sleep 60
42

            
43
# la clé publique ${identity[2]} doit contenir la commande de remise en veille
44
if ! $alive && test -n "${identity[2]}"; then
45
    $ssh -i ${identity[2]} ${user[2]:-root}@$ip
46
fi