A simple webapp to manage cronjobs
Go to file
Jeroen De Meerleer cce35b24bb
First implementation of the framework
2021-04-06 19:33:26 +02:00
cache Added frontend 2017-04-14 15:58:09 +02:00
config First implementation of the framework 2021-04-06 19:33:26 +02:00
css Added expired runs to overview 2019-05-25 11:39:45 +02:00
images Added loading screen to runnow 2017-04-17 10:10:35 +02:00
include First implementation of the framework 2021-04-06 19:33:26 +02:00
js First implementation of the framework 2021-04-06 19:33:26 +02:00
lib/Framework First implementation of the framework 2021-04-06 19:33:26 +02:00
src First implementation of the framework 2021-04-06 19:33:26 +02:00
.env First implementation of the framework 2021-04-06 19:33:26 +02:00
.env.sample First implementation of the framework 2021-04-06 19:33:26 +02:00
.gitignore Added .idea to gitignore 2019-04-25 15:46:26 +02:00
.htaccess First implementation of the framework 2021-04-06 19:33:26 +02:00
LICENSE.md First implementation of the framework 2021-04-06 19:33:26 +02:00
README.md Updated readme for updated dependencies 2018-09-13 14:05:31 +02:00
addjob.php First implementation of the framework 2021-04-06 19:33:26 +02:00
bootstrap.php First implementation of the framework 2021-04-06 19:33:26 +02:00
composer.json First implementation of the framework 2021-04-06 19:33:26 +02:00
composer.lock First implementation of the framework 2021-04-06 19:33:26 +02:00
config.inc.sample.php Added runner 2017-04-14 15:57:47 +02:00
config.php First implementation of the framework 2021-04-06 19:33:26 +02:00
database.sql Added lastrun to database 2019-05-24 18:22:17 +02:00
editjob.php First implementation of the framework 2021-04-06 19:33:26 +02:00
index.php First implementation of the framework 2021-04-06 19:33:26 +02:00
index_old.php First implementation of the framework 2021-04-06 19:33:26 +02:00
overview.php First implementation of the framework 2021-04-06 19:33:26 +02:00
runnow.php Better test by starts with 2019-04-25 17:40:32 +02:00
runs.php First implementation of the framework 2021-04-06 19:33:26 +02:00
webcron.php First implementation of the framework 2021-04-06 19:33:26 +02:00

README.md

Webcron Management

(c) 2017 Jeroen De Meerleer me@jeroened.be

Webcron management is an easy-to-use interface to manage cronjob running on a publicly available http-location.

Requirements

  • Webserver able to run PHP
  • PHP 7.0 or greater
  • MySQL/MariaDB
  • Ability to add a system cronjob for installation (You can maybe ask you webhost?)

Instalation

Follow the instructions below to install the webcron interface

  1. Copy this repository to a public directory on your server
  2. Create a database using the database.sql provided in the repository
  3. Create a first user by inserting a first record to the users table (Password is hashed with bcrypt)
  4. Run composer install to install dependencies.
  5. Open ssh and add following line to your crontab
* * * * cd /path/to/webcron/ && php webcron.php > /dev/null 1&>2

Common pittfalls

Cronjobs are not running

Did you edit the crontab?

I can't do an automatic system upgrade!

Doing a system upgrade requires sudo which has a certain number security measurements. To enable running anything with sudo (eg. sudo apt dist-upgrade -y) the user needs to be able to run sudo without tty and password.

TL;DR

Can I schedule a reboot every week?

Yes, you can do this by creating a job with reboot as "url". When this job needs to run, the reboot is triggered to run at the very end. At the first run of the master script a list of active and terribly failed services is pushed to the job so you can check this if something is wrong.

Licence

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.