Showing 1 changed files with 43 additions and 0 deletions
+43
upgrade
... ...
@@ -0,0 +1,43 @@
1
+#!/bin/bash
2
+
3
+set -e
4
+
5
+test -n "$1"
6
+
7
+nc=/bin/nc
8
+wakeonlan=/usr/bin/wakeonlan
9
+ssh=/usr/bin/ssh
10
+
11
+conf=$HOME/.config/upgrade_hosts.conf
12
+
13
+test -r $conf
14
+
15
+eval $(/usr/local/bin/readconf --conf=$conf --array=user --array=identity $1)
16
+
17
+test -n "$ip"
18
+test -n "$port"
19
+test -n "${identity[1]}"
20
+
21
+if test -n "$lock"; then
22
+    test -f $lock && exit
23
+fi
24
+
25
+alive=0
26
+
27
+if $nc -zw2 $ip $port; then alive=1; fi
28
+
29
+if ! $alive; then
30
+    $wakeonlan -i $ip $mac
31
+    sleep 10
32
+    $nc -zw2 $ip $port
33
+fi
34
+
35
+# la clé publique ${identity[1]} doit contenir la commande d'upgrade
36
+$ssh -i ${identity[1]} ${user[1]:-root}@$ip
37
+
38
+sleep 60
39
+
40
+# la clé publique ${identity[2]} doit contenir la commande de remise en veille
41
+if ! $alive && test -n "${identity[2]}"; then
42
+    $ssh -i ${identity[2]} ${user[2]:-root}@$ip
43
+fi