]> 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 fi
34
35 if [ -z "${DOMAIN_LIST}" -a -z "${SOFTWARE_LIST}" ]
36 then
37         echo "$0: No domains or software found! MODE='${MODE}'"
38         exit 255
39 fi
40
41 if [ -n "${DOMAIN_LIST}" ]
42 then
43         for DOMAIN in ${DOMAIN_LIST};
44         do
45                 echo "$0: DOMAIN='${DOMAIN}'"
46                 if [ -n "$1" -a -z "${MODE}" ]
47                 then
48                         ./fba.py update_nodeinfo --domain=${DOMAIN} "$1"
49                 elif [ -n "$2" ]
50                 then
51                         ./fba.py update_nodeinfo --domain=${DOMAIN} "$2"
52                 else
53                         ./fba.py update_nodeinfo --domain=${DOMAIN}
54                 fi
55         done
56 elif [ -n "${SOFTWARE_LIST}" ]
57 then
58         for SOFTWARE in ${SOFTWARE_LIST};
59         do
60                 echo "$0: SOFTWARE='${SOFTWARE}'"
61                 if [ -n "$2" ]
62                 then
63                         ./fba.py update_nodeinfo --software=${SOFTWARE} "$2"
64                 else
65                         ./fba.py update_nodeinfo --software=${SOFTWARE}
66                 fi
67         done
68 fi
69
70 echo "$0: All done."