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.

    usage: repeat --config=CONFIG [<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

      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

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

      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.

        sar -n EDEV && true

      run-once: true
      script: |
        netstat -atn

Running with configuration

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

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


Feel free to send PR(s) or reach niedbalski on #freenode or Telegram.

Get it from the Snap Store

Search for another snap, or go back to the homepage.