1
0
Fork 0
mirror of https://github.com/Luzifer/elastic_cron.git synced 2024-12-23 02:41:20 +00:00
elastic_cron/README.md

47 lines
1.5 KiB
Markdown
Raw Normal View History

2016-02-26 21:31:51 +00:00
# Luzifer / rsyslog\_cron
This project is a quick and dirty replacement for running a cron daemon inside docker containers.
## Advantages
- It logs the output of the jobs into a remote syslog target (like Papertrail) using TCP syslog
- Crons can be started on seconds, not only on minutes like a conventional cron
- Due to the logs cron jobs can get debugged
## Usage
1. Put the [binary](https://gobuilder.me/get/github.com/Luzifer/rsyslog_cron/rsyslog_cron_master_linux-amd64) into your container
2. Generate a YAML file containing the cron definition
3. Watch your crons get executed in your log stream
## Config format
```yaml
---
rsyslog_target: logs.myserver.com:12345
log_format: '<{{ syslogpri .Severity }}>{{ .Date.Format "Jan 02 15:04:05" }} {{ .Hostname }} {{ .JobName }}: {{ .Message }}'
2016-02-26 21:31:51 +00:00
jobs:
- name: date
schedule: "0 * * * * *"
cmd: "/bin/date"
args:
- "+%+"
```
- `rsyslog_target` - needs to be a rsyslog endpoint supporting TCP plain connections like Loggly or Papertrail does.
- `log_format` - format to use for generating the log line (above shown is default and does not need to be provided)
- `schedule` - consists of 6 instead of the normal 5 fields:
2016-02-26 21:31:51 +00:00
```
field allowed values
----- --------------
second 0-59
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
```
Standard format for crontab entries is supported. (See `man 5 crontab`)