This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Installation

Run pip install supercron.

SuperCron vs classical crontab

SuperCron is based on crontab, while providing the following additional advantages:

  • it can run interactively or non-interactively.
  • it allows controlling several jobs simultaneously if they were assigned the same job name.
  • it provides more options to handle jobs: adding, removing, searching, enabling, disabling, etc.
  • it allows a vast and flexible amount of repetition sentences.
  • it allows trigger-induced jobs based on the states of other jobs.
  • it is more friendly especially to new sysadmins.

Usage

SuperCron can run either in interactive mode or non-interactive mode.

Interactive mode:

Run supercron without any arguments to start interactive mode. You will prompted to choose an action, and then to enter action parameters (like name, command and repetition) if any.

Non-interactive mode:

In non-interactive mode, one of the following options can be used after the command name supercron.

  • option -h or --help: shows the help message, with some usage examples
  • option -V or --version: displays the version number

Additionally, one of the following subcommands can be used: add, delete, enable, disable, search, clear, trigger.

Subcommand add

  • option -h or --help: shows the help message of the subcommand
  • option -q or --quiet: optional; suppresses all output and error messages
  • option -c or --command: required; here goes the command to be executed
  • option -r or --repetition: required; the repetition sentence (see examples below)
  • argument name: required; represents the job name which will be added (several jobs can share the same name)

Subcommand rename

  • option -h or –help: shows the help message of the subcommand
  • option -q or –quiet: optional; suppresses all output and error messages
  • argument old_name: required; old name of the job(s) (several jobs can share the same name)
  • argument new_name: required; new name of the job(s) (several jobs can share the same name)

Subcommands delete, enable and disable

  • option -h or --help: shows the help message of the subcommand
  • option -q or --quiet: optional; suppresses all output and error messages
  • argument name: required; represents the job name on which the action will occur (several jobs can share the same name)

Subcommand search

  • option -h or --help: shows the help message of the subcommand
  • argument name: required; the exact job name to search for, or @supercron to list all SuperCron jobs, or @all to list all user’s crontab entries

Subcommand clear

  • option -h or --help: shows the help message of the subcommand
  • option -q or –quiet: optional; suppresses all output and error messages
  • option -f or --force: skips asking for confirmation before clearing all jobs

Note: this subcommand will only clear SuperCron jobs from user’s crontab.

Subcommand trigger

  • option -h or --help: shows the help message of the subcommand
  • option -q or --quiet: optional; suppresses all output and error messages
  • option -t or --trigger: trigger in the form of “none” or “ACTION if NAME is STATE”. See Triggers section below.
  • argument name: required; represents the triggered job name on which ACTION will occur (several jobs can share the same name)

Triggers

Triggers can take one of 2 forms:

  • “none” for removing the previous trigger
  • ACTION if NAME is STATE” for adding a new trigger or replacing an old one

ACTION is the action applied on the enabled state of the triggered job and it can be on, off or toggle.

NAME is the name of the triggering job.

STATE is the triggering state of the triggering job, and it can be enabled, disabled, toggled, added or deleted.

Using action toggle means to enable the triggered job if it was disabled, and to disable it if it was enabled.

State toggled activates the trigger when the triggering job is enabled or disabled.

Note that when a job is renamed from name1 to name2, it means activating triggers that end with if name1 is deleted and triggers that end with if name2 is added, since a rename is considered a deletion of the old job name and an addition of the new job name.

Examples

  • Add a job:

    supercron add -c "date +%j >> log_file" -r "every 2 days" log_dates
    supercron add -c "scp -r /path1 user@server:/path2" -r "at 11:50 pm on mondays" backup_server
    
  • Rename a job:

    supercron rename log_dates log_all_dates
    
  • Delete a job:

    supercron delete log_dates
    
  • Enable a job:

    supercron enable log_dates
    
  • Disable a job:

    supercron disable log_dates
    
  • Search jobs:

    supercron search log_dates
    supercron search @supercron
    supercron search @all
    
  • Clear all SuperCron jobs:

    supercron clear
    
  • Add trigger to a job:

    supercron trigger -t "on if log_months is off" log_days
    
  • Remove trigger from a job:

    supercron trigger -t none log_days
    

Repetition sentences

Repetition sentences are provided in a supercron add command directly after the -r or --repetition option.

Examples of accepted repetition sentences (case insensitive):

  • everyday
  • at midnight
  • every 5 minutes
  • once every 2 hours
  • every 10 days
  • every 4 months
  • on mondays
  • on monday, wednesday and friday
  • from saturday to tuesday
  • on fri
  • on mon, wed and fri
  • from mon to thu
  • at 11:50
  • at 23:50
  • at 10:10 am
  • at 10:10 pm
  • on 19/5
  • on 14 May
  • in september
  • in sep
  • from may to august
  • from dec to feb
  • in january and april
  • in jan, aug, oct

Repetition sentences can also be any (unsorted) logical mix of the above. For example:

  • at 09:00 every 3 days
  • from june to november every 2 hours
  • every 30 minutes on fri and sat
  • midnight from monday to friday in october and december

Homepage and Repository

Homepage: https://linostar.github.io/SuperCron

Repository: https://github.com/linostar/SuperCron

License and Authors

This software is licensed under the revised BSD license.

Authors:

  • Anas El Husseini (linux.anas [at] gmail [dot] com)
Release History

Release History

0.3.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
supercron-0.3.2.tar.gz (16.6 kB) Copy SHA256 Checksum SHA256 Source Oct 2, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting