Manage your crontab with some simple PHP commands.

dev-master / 1.0.x-dev 2020-05-01 13:12 UTC

This package is auto-updated.

Last update: 2024-03-29 03:24:24 UTC


README

Latest Stable Version Minimum PHP Version Downloads License Build Status Scrutinizer Code Quality Code Coverage

Features

Lists all cron jobs with a nice OO interface. Add jobs to your crontab.

Requirements

  • PHP >= 7.0
  • POSIX Shell with crontab command

Installation

Installing crontab via Composer.

  "require": {
    "sebastianfeldmann/crontab": "~1.0"
  }

Usage

Read crontab

$crontab = new SebastianFeldmann\Crontab\Operator();
foreach ($crontab->getJobs() as $job) {
    echo "Description: . PHP_EOL . implode(PHP_EOL, $job->getComments()) . PHP_EOL;
    echo "Schedule: " . PHP_EOL . $job->getSchedule() . PHP_EOL;
    echo "Command: " . PHP_EOL . $job->getCommand() . PHP_EOL;
}

Add job to crontab

$crontab = new SebastianFeldmann\Crontab\Operator();
$crontab->addJob(
    new SebastianFeldmann\Crontab\Job(
        '30 4 * * *',
        '/foo/bar/binary',
        ['Some foo bar binary execution']
    )
);

This will add the following lines to your crontab.

# Some foobar binary execution
30 4 * * * /foo/bar/binary

The crontab parser is looking for commands and their description in the lines above the command. The parser expects commands to NOT spread over multiple lines with \.

# Descriptoon for some command
10 23 * * * some command

# Next Command Description
# even more description for the next command
30 5 * * * next command