100% Rust |
Powered by ntfy.sh for recieving notifications on the go |
Support for most platforms |
Automatiaclly times commands |
Can monitor already started processes |
Get updated on the ETA, status and more! (coming soon) |
Miniscule overhead |
Usage: hark [OPTIONS] <CMD>...
Arguments:
<CMD>... Command and arguments to be run
Options:
-v, --verbose Print verbose output
-t, --topic <TOPIC> ntfy.sh topic to publish notification to
-c, --config <FILE> Sets a custom config file path [default: /etc/hark.toml]
-s, --save Save command line settings to config file
-p, --process <PID> PID of the process to monitor
-h, --help Print help
-V, --version Print version
Before being able to use hark
, you'll need to set yourself up with ntf.sh.
Download the app, and then create a topic to use here.
Pass it in using -t
or save it to a config file.
Use hark to time and launch a command:
hark rsync -a really/large/dir/ another/dir/
Your notification will be something like:
"rsync" finished with success after 45.32m (January 8, 20201 at 9:30pm)
You can use it to attach to an existing process by the processes PID:
hark -p 2077
Your notification will be something like:
"rsync" (PID 2077) finished with status "47" after 45.32m (January 8, 20201 at 9:30pm)
You can use it without any arguments, where hark
will just send a notification right away:
dd if=/dev/zero of=/dev/sda1 bs=1M; hark
Your notification will be something like:
Command finished (January 8, 20201 at 9:30pm)
You can use the configuration file to store your ntfy.sh topic
, so you don't need to input it everytime you run the command.
Configuration files can be given in any of the following formats: JSON, YAML, TOML, HJSON
.
An example .toml
file would look like this:
topic = "my-topic-here"
By default hark
will look for a configuration file at /etc/hark.toml
.
This file can be changed via the command line options.
If the specified or default configuration file is not found, hark
will look for a configuration file in the current directory with the name hark.*
where *
is any of the supported configuration types.
First install Rust (recommended using rustup).
$ git clone https://github.com/erismik/hark.git
$ cd hark
$ cargo build --release
Using cargo,
$ cargo install --path .
Suggestions, issues, and pull requests are welcome!