Versionv0.0.5
Revision40
Size6.6 MB
Licenseunset
Confinementstrict
Basecore18

Utility to run and repeat commands and capture its output.


### Description

*repeat* allows you to define a set of linux commands that needs to be run with a given periodicity and gather the output
of those commands into a compressed tarball report for further analysis.

``yaml

 usage: repeat --config=CONFIG [<flags>]


 Flags:
   -h, --help             Show context-sensitive help (also try --help-long and --help-man).
   -l, --loglevel="info"  Log level: [debug, info, warn, error, fatal]
   -t, --timeout=0s       Timeout: overall timeout for all collectors
   -c, --config=CONFIG    Path to collectors configuration file
   -b, --basedir="/tmp"   Temporary base directory to create the resulting collection tarball
   -r, --results-dir="."  Directory to store the resulting collection tarball


`
#### Example configuration

`yaml

collections:
 lsof:
   command: lsof -i # command to run
   run-every: 10s  # periodicity
   exit-codes: 0 # allowed exit codes (space separed list of accepted exit codes)
   timeout: 30s   # define a per command timeout


 sockstat:
   command: cat /proc/sys/net/ipv4/tcp*mem /proc/net/sockstat
   run-every: 2s
   exit-codes: any


 sar:
   run-once: true   #it can be run a single time
   exit-codes: 0 127 126
   script: |    # a script can be given instead of a command.
     #!/bin/bash


     sar -n EDEV && true


 uname:
   run-once: true
   script: |
     netstat -atn


`

#### Running with configuration

An example of running the collection for 5s (could be expressed in s,m,hours)

`yaml

repeat --config metrics.yaml --timeout=5s --results-dir=.

``
### Contributing

Feel free to send PR(s) or reach niedbalski on #freenode or Telegram. https://github.com/niedbalski/repeat.

Update History

v0.0.5 (40)
13 Dec 2025, 09:47 UTC

Published23 Apr 2020, 18:59 UTC

Last updated5 Mar 2021, 19:59 UTC

First seen13 Dec 2025, 09:47 UTC