Skip to main content

Runat: A Tiny Replacement for Crontab

logo

Welcome to Runat, a CLI tool that offers a simple and efficient way to replace crontab. It provides a reliable solution for various use cases, including running it inside containers, when crontab is broken, for security compliance, and anything else you may need.

Installation

Runat is easy to install via pip. You can install it using the following command:

pip install runat

Options

To learn more about Runat's options, you can type runat --help. The following optional arguments are available:

Usage: runat [OPTIONS]

  A tiny replacement for cron for different usages.

  Args:     cron (str): Cron-like syntax string.     do_ (str): List of
  command or shell script.

Options:
  -c, --cron TEXT  Cron like syntax "22 23 * * *"  [required]
  -d, --do TEXT    List of command or shell script  [required]
  --help           Show this message and exit.

Usage

Here's how you can use Runat:

runat --cron "01 23 * * *"  --do "cd /srv/;bash cleanTemp.sh | tee  -a /var/log/cleanTemp.log"

Example Output

Here's an example of what Runat's output might look like:

runat --cron "01 23 * * *"  --do "cd /srv/;bash cleanTemp.sh | tee  -a /var/log/cleanTemp.log"
> The next run  in 23.0 hours, 59.0 minutes, 56.0 seconds

Installation via PyPI

To install Runat via PyPI, simply run the following command:

pip install runat

Development

Runat includes a number of helpers in the Makefile to streamline common development tasks. You can set up your development environment using the following steps:

### create a virtualenv for development
$ make virtualenv

$ source env/bin/activate

### run runat cli application
$ runat --help

Deployments

Docker

Note

If you want to work on local file, you should mount it to the container using -v.

To build and distribute Runat using Docker, you can use the following commands:

$ make docker

$ docker run -it runat --help

License

Runat is licensed under the GNU GENERAL PUBLIC LICENSE.

Author Information

The tool was originally developed by Ali Saleh Baker.

Metadata

Release files for runat 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runat 1.0.2
File Size Uploaded Provenance Actions
runat-1.0.2.tar.gz 16.1 kB Without provenance Details for runat-1.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for runat 1.0.2
File Interpreter ABI Platform Actions
runat-1.0.2-py3-none-any.whl Python 3 none any Details for runat-1.0.2-py3-none-any.whl

Total release size: 32.3 kB

Release files / runat-1.0.2.tar.gz

Download URL runat-1.0.2.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
874f5906dcc111a9bbbcb1027b8729eb83e9a62bfdb65bb3f0da5f59b8e2cd03
BLAKE2b-256 checksum
How to use checksums
d32615979cf1967c8591e23699e96b07ef1641ac36e57ed5e09a5f0644d0eba3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.28.1 setuptools/65.6.3 requests-toolbelt/0.8.0 tqdm/4.64.1 CPython/3.8.10

Release files / runat-1.0.2-py3-none-any.whl

Download URL runat-1.0.2-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b871a4da02acc16a8b7e3aa9164946200f56c1a075460f8057254ef51de9d3c4
BLAKE2b-256 checksum
How to use checksums
9abc05990faa477cc7ce3868617e20f0372625fc12117f881b23f95212919f21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.28.1 setuptools/65.6.3 requests-toolbelt/0.8.0 tqdm/4.64.1 CPython/3.8.10

Security for runat 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page