UNPKG

chronos

Version:
74 lines (52 loc) 2.07 kB
# chronos ## Install After you got nodejs (which includes npm now), you can just: `npm install -g chronos` After this you may need to link node and chronos in your `/bin` or `/usr/bin` directory. Otherwise your cronjob may not be able to find them. To check, just create a cron like `which node` and look into your mailbox. ## Configuration chronos should be compatible with every service that supports AMQP. You can configure chronos by placing a JSON file in `/etc/chronos.json` or `/usr/local/etc/chronos.json`. Example: { "mode" : "amqp", "amqp" : { "host" : "10.0.13.1", "port" : 5672, "login" : "guest", "password" : "guest", "vhost" : "/", "key" : "somekey" }, "stage" : "production" } If you don't set one of those, the defaults apply. They mean that chronos will communicate with graylog2 directly, using a GELF service running locally on port 12201 (which is the default for a fresh install of graylog2). { "mode" : "graylog2", "graylog2" : { "host" : "127.0.0.1", "port" : 12201 }, "amqp" : { "host" : "127.0.0.1", "port" : 5672, "login" : "guest", "password" : "guest", "vhost" : "/", "key" : "logging" }, "stage" : false } ## Usage Let's say your current crontab looks something like this: 0 * * * * date >> /var/log/cronjobs/myjob.log && php /var/www/myapp/cli/index.php --some=bar If you just replace this by: 0 * * * * chronos -s mystage -j myjob 'php /var/www/myapp/cli/index.php --some=bar' From now on chronos will log the results of your cronjobs to graylog2. ## Options The cli options of chronos are: * *jobname:* (-j, required) Name of the cronjob, any string will do. * *stage:* (-s) Define a stage, if none is given the one in `/etc/chronos.json` is added * *stdout:* (-o) Add stdout output to log * *stderr:* (-e) Add stderr output to log * *env:* (-v) Add all environment variables to the log ## Examples chronos -oj job1 'printf "This output will be added to the log"' chronos -j job2 'printf "This will trigger an Error-level message"; exit 1;'