#!/usr/bin/python
###############################################################################
# #
# collecty - A system statistics collection daemon for IPFire #
# Copyright (C) 2012 IPFire development team #
# #
# This program 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 #
# (at your option) any later version. #
# #
# This program 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 this program. If not, see . #
# #
###############################################################################
import os
import sys
import daemon
import optparse
import collecty
c = collecty.Collecty()
# Parse command line options
op = optparse.OptionParser(usage="usage: %prog [options] ... ")
op.add_option("-d", "--daemon", action="store_true", default=False,
help="Run as a daemon in background.")
(options, configfiles) = op.parse_args()
if configfiles:
for file in configfiles:
c.read_config(file)
else:
# Load default config file
c.read_config("/etc/collecty/collecty.conf")
if not c.instances:
print >>sys.stderr, "Error: No instances were configured."
sys.exit(1)
if options.daemon:
with daemon.DaemonContext(stdout=sys.stdout, stderr=sys.stderr):
c.run()
else:
c.run()