### 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.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
Snap can be installed from the command line on openSUSE Leap 15.x and Tumbleweed.
You need first add the snappy repository from the terminal. Leap 15.5 users, for example, can do this with the following command:
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.5 snappy
Swap out openSUSE_Leap_15.5
for openSUSE_Leap_15.4
or openSUSE_Tumbleweed
if you’re using a different version of openSUSE.
With the repository added, import its GPG key:
sudo zypper --gpg-auto-import-keys refresh
Finally, upgrade the package cache to include the new snappy repository:
sudo zypper dup --from snappy
Snap can now be installed with the following:
sudo zypper install snapd
You then need to either reboot, logout/login or source /etc/profile
to have /snap/bin added to PATH.
Additionally, enable and start both the snapd and the snapd.apparmor services with the following commands:
sudo systemctl enable --now snapd
sudo systemctl enable --now snapd.apparmor
To install repeat, simply use the following command:
sudo snap install repeat
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.
Get to know Canonical, the company behind the products.
The world's favourite Linux OS for servers, desktops and IoT.
One subscription for security maintenance, support, FIPS and other compliance certifications.
The app store for Linux: secure packages and ultra-reliable updates.
A pure-container hypervisor. Run system containers and VMs at scale.
Build a bare metal cloud with super fast server provisioning.
Upgrades, maintenance, support, and fully managed options for long-term, low-cost infra.
Software-defined storage that lowers your total cost of ownership.
App portability for K8s on VMware, Amazon, Azure, Google, Oracle, IBM and bare metal.
Deploy, integrate and manage applications at any scale, on any infrastructure.
Stream Android applications to any device.
The software collaboration platform behind Ubuntu.
Optimised Ubuntu for public clouds.
Spin up Ubuntu VMs on Windows, Mac and Linux.
Control and customise your cloud instances.
Systems management and security patching for Ubuntu.
Simplify and standardise complex network configuration.
AI and MLOps at any scale, on any cloud.
Deploy a fully functional cloud in minutes.