summaryrefslogtreecommitdiff
path: root/rhnop-client/nopcollectd
diff options
context:
space:
mode:
Diffstat (limited to 'rhnop-client/nopcollectd')
-rwxr-xr-xrhnop-client/nopcollectd60
1 files changed, 60 insertions, 0 deletions
diff --git a/rhnop-client/nopcollectd b/rhnop-client/nopcollectd
new file mode 100755
index 0000000..239011e
--- /dev/null
+++ b/rhnop-client/nopcollectd
@@ -0,0 +1,60 @@
+#!/usr/bin/lua
+--
+-- rhnop
+--
+-- Copyright (C) 2011 Christian Pointner <equinox@helsinki.at>
+--
+-- This file is part of rhnop.
+--
+-- rhnop is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- any later version.
+--
+-- rhnop is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with rhnop. If not, see <http://www.gnu.org/licenses/>.
+--
+--
+-- send now and next cart# and length to nopsyncd
+-- this script should be called by the now/next macro cart
+-- the arguments should be: now# nowlen next# nextlen
+--
+
+require "socket"
+
+if #arg < 1 then
+ io.stderr:write("too few parameters\n")
+ os.exit(1)
+end
+
+conffile = "nopcollectd." .. arg[1] .. ".conf"
+conf = require "conf"
+
+-- connect to server (reconnect after error)
+local sock = assert(socket.tcp())
+
+local ret, err = sock:connect(conf.host, conf.port)
+if ret == nil then
+ print(err)
+ return 1
+end
+
+print "connection established"
+
+-- TODO: load all info we don't have yet
+
+while true do
+ local timestamp = sock:receive('*l')
+ -- TODO: check if connection is closed
+ print("received: '" .. timestamp .. "'")
+
+ -- TODO: check if we already fetched that timestamp
+ -- TODO: fetch info for the timestamp and insert it into local db
+end
+sock:close()
+return 0