]> git.mxchange.org Git - fba.git/blob - nodeinfo.sh
Continued:
[fba.git] / nodeinfo.sh
1 #!/bin/sh
2
3 MODE=""
4 DOMAIN_LIST=""
5 SOFTWARE_LIST=""
6
7 if [ "$1" = "--help" ]
8 then
9         echo "Usage: $0 [file|--software|--nodeinfo|--generator|--timeout|--same]"
10         exit 255
11 elif [ -n "$1" -a -f "$1" ]
12 then
13         DOMAIN_LIST=$(cat "$1")
14         MODE="file"
15 elif [ "$1" = "--nodeinfo" ]
16 then
17         DOMAIN_LIST=$(sqlite3 blocks.db "SELECT domain FROM instances WHERE software IS NULL AND nodeinfo_url IS NOT NULL ORDER BY last_updated ASC;")
18         MODE="nodeinfo"
19 elif [ "$1" = "--timeout" ]
20 then
21         DOMAIN_LIST=$(sqlite3 blocks.db "SELECT domain FROM instances WHERE last_error_details LIKE '%Timeout%' ORDER BY last_updated ASC;")
22         MODE="timeout"
23 elif [ "$1" = "--software" -a -f "software.txt" ]
24 then
25         SOFTWARE_LIST=$(cat software.txt)
26         MODE="software"
27 elif [ "$1" = "--generator" ]
28 then
29         DOMAIN_LIST=$(sqlite3 blocks.db "SELECT domain FROM instances WHERE detection_mode='GENERATOR' ORDER BY last_updated ASC;")
30         MODE="generator"
31 else
32         DOMAIN_LIST=$(sqlite3 blocks.db "SELECT domain FROM instances WHERE software IS NULL AND nodeinfo_url IS NOT NULL ORDER BY last_updated ASC;")
33         MODE="nodeinfo_null"
34 fi
35
36 if [ -z "${DOMAIN_LIST}" -a -z "${SOFTWARE_LIST}" ]
37 then
38         echo "$0: No domains or software found! MODE='${MODE}'"
39         exit 255
40 fi
41
42 echo "$0: Run-mode is: '${MODE}'"
43
44 if [ -n "${DOMAIN_LIST}" ]
45 then
46         for DOMAIN in ${DOMAIN_LIST};
47         do
48                 echo "$0: DOMAIN='${DOMAIN}'"
49                 if [ -n "$1" -a -z "${MODE}" ]
50                 then
51                         ./fba.py update_nodeinfo --domain=${DOMAIN} "$1"
52                 elif [ -n "$2" ]
53                 then
54                         ./fba.py update_nodeinfo --domain=${DOMAIN} "$2"
55                 else
56                         ./fba.py update_nodeinfo --domain=${DOMAIN}
57                 fi
58         done
59 elif [ -n "${SOFTWARE_LIST}" ]
60 then
61         for SOFTWARE in ${SOFTWARE_LIST};
62         do
63                 echo "$0: SOFTWARE='${SOFTWARE}'"
64                 if [ -n "$2" ]
65                 then
66                         ./fba.py update_nodeinfo --software=${SOFTWARE} "$2"
67                 else
68                         ./fba.py update_nodeinfo --software=${SOFTWARE}
69                 fi
70         done
71 fi
72
73 echo "$0: All done."