### 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.
On Arch Linux, snap can be installed from the Arch User Repository (AUR). The manual build process is the Arch-supported install method for AUR packages, and you’ll need the prerequisites installed before you can install any AUR package. You can then install snap with the following:
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
If AppArmor is enabled in your system, enable the service which loads AppArmor profiles for snaps:
sudo systemctl enable --now snapd.apparmor.service
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap
and /snap
:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
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.