• Stars
    star
    2,754
  • Rank 16,535 (Top 0.4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easy and safe way to manage your crontab file

Crontab UI

Donate npm npm npm npm npm

Editing the plain text crontab is error prone for managing jobs, e.g., adding jobs, deleting jobs, or pausing jobs. A small mistake can easily bring down all the jobs and might cost you a lot of time. With Crontab UI, it is very easy to manage crontab. Here are the key features of Crontab UI.

flow

  1. Easy setup. You can even import from existing crontab.
  2. Safe adding, deleting or pausing jobs. Easy to maintain hundreds of jobs.
  3. Backup your crontabs.
  4. Export crontab and deploy on other machines without much hassle.
  5. Error log support.
  6. Mailing and hooks support.

Read this to see more details.

Setup

Get latest node from here. Then,

npm install -g crontab-ui
crontab-ui

If you need to set/use an alternative host, port OR base url, you may do so by setting an environment variable before starting the process:

HOST=0.0.0.0 PORT=9000 BASE_URL=/alse crontab-ui

By default, db, backups and logs are stored in the installation directory. It is recommended that it be overriden using env variable CRON_DB_PATH. This is particularly helpful in case you update crontab-ui.

CRON_DB_PATH=/path/to/folder crontab-ui

If you need to apply basic HTTP authentication, you can set user name and password through environment variables:

BASIC_AUTH_USER=user BASIC_AUTH_PWD=SecretPassword

Also, you may have to set permissions for your node_modules folder. Refer this.

If you need to use SSL, you can pass the private key and certificate through environment variables:

SSL_CERT=/path/to/ssl_certificate SSL_KEY=/path/to/ssl_private_key

Make sure node has the correct permissions to read the certificate and the key.

If you need to autosave your changes to crontab directly:

crontab-ui --autosave

List of ennvironment variables supported

  • HOST
  • PORT
  • BASE_URL
  • CRON_DB_PATH
  • CRON_PATH
  • BASIC_AUTH_USER, BASIC_AUTH_PWD
  • SSL_CERT, SSL_KEY
  • ENABLE_AUTOSAVE

Docker

You can use crontab-ui with docker. You can use the prebuilt images in the dockerhub

docker run -d -p 8000:8000 alseambusher/crontab-ui

You can also build it yourself if you want to customize, like this:

git clone https://github.com/alseambusher/crontab-ui.git
cd crontab-ui
docker build -t alseambusher/crontab-ui .
docker run -d -p 8000:8000 alseambusher/crontab-ui

If you want to use it with authentication, You can pass BASIC_AUTH_USER and BASIC_AUTH_PWD as env variables

docker run -e BASIC_AUTH_USER=user -e BASIC_AUTH_PWD=SecretPassword -d -p 8000:8000 alseambusher/crontab-ui 

You can also mount a folder to store the db and logs.

mkdir -p crontabs/logs
docker run --mount type=bind,source="$(pwd)"/crontabs/,target=/crontab-ui/crontabs/ -d -p 8000:8000 alseambusher/crontab-ui

If you are looking to modify the host's crontab, you would have to mount the crontab folder of your host to that of the container.

# On Ubuntu, it can look something like this and /etc/cron.d/root is used
docker run -d -p 8000:8000 -v /etc/cron.d:/etc/crontabs alseambusher/crontab-ui

Resources

Adding, deleting, pausing and resuming jobs.

Once setup Crontab UI provides you with a web interface using which you can manage all the jobs without much hassle.

basic

Import from existing crontab

Import from existing crontab file automatically. import

Backup and restore crontab

Keep backups of your crontab in case you mess up. backup

Export and import crontab on multiple instances of Crontab UI.

If you want to run the same jobs on multiple machines simply export from one instance and import the same on the other. No SSH, No copy paste!

export

But make sure to take a backup before importing.

Separate error log support for every job

logs

Donate

Like the project? Buy me a coffee!

Contribute

Fork Crontab UI and contribute to it. Pull requests are encouraged.

License

MIT

More Repositories

1

Paideia

Know more about your surroundings using Deep Learning
Java
53
star
2

HappyBirthday-term

A terminal based Happy Birthday card
Python
27
star
3

adb-toggle

A homescreen widget to toggle USB debugging on/off
Java
20
star
4

jarvis

Control your computer using hand motion and automata based gesture recognition to improve Human-Computer Interaction.
Python
13
star
5

conky-finance

Google Now style conky script for stock prices and currency conversion
Shell
11
star
6

material-blogger

Material Design template for Google Blogger
CSS
10
star
7

QuickFoods-android

A system to modernize order taking and delivering in restaurants
Java
8
star
8

SED

Multimodal Social Event Detection
Python
8
star
9

deepwaldo

Using MaskRCNN to solve Where's waldo
Python
8
star
10

Magneto

Control your desktop with android wear/mobile device
Java
8
star
11

spydroid

See your phone on computer screen
Python
6
star
12

mockstock

online trading game which simulates stock market.. our DBMS project
JavaScript
6
star
13

android-manager

Manage your android phone from your computer
Python
5
star
14

capsnet.js

CapsNet in JS using deeplearn.js
JavaScript
4
star
15

say-thanks

Say thanks to people who wish you on your birthday on Facebook
HTML
3
star
16

indibits-wiki

An open source,simple, clean,"copy->paste->done!!" type wiki application
PHP
3
star
17

using-logkeys

using logkeys as a keylogger and send log file to a remote destination every time the system is connected to internet
Shell
3
star
18

__SQLite_tool_for_android__

a tool for handling sqlite databases in android devices
Java
3
star
19

tartarus

Timer based locker to fight addiction
JavaScript
3
star
20

Action-Game

Two player Action Game in c++ openGL using only basic computer graphics algorithms
JavaScript
3
star
21

QuickFoods-iOS

A system to modernize order taking and delivering in restaurants
JavaScript
2
star
22

Easy-Multi-Player

EMP - Easy Real-time Multiplayer game development toolkit
C++
2
star
23

Magneto-2.0

Play computer games, control devices using android wear
Java
2
star
24

travelytics

JavaScript
2
star
25

crypt-editor

Safely read-write-edit password protected files with gpg or mcrypt encryption
Shell
2
star
26

SQLHandler

A working fast GUI to handle mysql using PyQt4
Python
2
star
27

chromecast-desktop

Electron UI to stream to chromecast
CSS
1
star
28

titlemaker

Generate titles in AEM using deep learning
Python
1
star
29

mac_jelly_gnome-shell

A gnome shell theme with a combo of mac-osx-lion, android jelly bean and advaita
Shell
1
star
30

Resume

My one page latex résumé
TeX
1
star
31

SemanticTyping

REST service that can automatically assign semantics to large data sets
Python
1
star
32

TensorFlow-models4j

Running popular deep learning models in java
Java
1
star
33

music_composer

Compose music online and share it in the cloud
JavaScript
1
star
34

alseambusher.github.com

github site
JavaScript
1
star
35

projectIT

A web application which can be used by students and teachers to improve teacher-student academic relationship
PHP
1
star
36

human-computer-interaction

Interface design: Human Computer Interaction Lab
JavaScript
1
star
37

viza

Visualization of credit card fraud data
JavaScript
1
star
38

yamba

Yet Another Micro Blogging App: Android
Java
1
star
39

it-nitk

NITK IT site
Ruby
1
star
40

YASG

Yet Another Site Generator. A simple document generator for projects in PHP
Shell
1
star