PlinkerRPC - Cron
A cron component which allows you to read and control cron tasks on remote systems., (*1)
Install
Require this package with composer using the following command:, (*2)
``` bash
$ composer require plinker/cron, (*3)
## Client
Creating a client instance is done as follows:
<?php
require 'vendor/autoload.php';
/**
* Initialize plinker client.
*
* @param string $server - URL to server listener.
* @param string $config - server secret, and/or a additional component data
*/
$client = new \Plinker\Core\Client(
'http://example.com/server.php',
[
'secret' => 'a secret password',
// optional
'config' => [
'journal' => './.plinker/crontab.journal',
'apply' => false
]
]
);
// or using global function, with optional array
$client = plinker_client('http://example.com/server.php', 'a secret password', [
'config' => [
'journal' => './.plinker/crontab.journal',
'apply' => false
]
]);
## Component Config
| Parameter | Description | Default |
| ---------- | ------------- | ------------- |
| journal | Path to journal file | `./.plinker/crontab.journal` |
| apply | Apply crontab after each call, default is to only apply upon calling `apply()` method | `false` |
## Methods
Once setup, you call the class though its namespace to its method.
### User
Get current user, helps to debug which user the crontab is owned by.
**Call**
``` php
$result = $client->cron->user();
Response
``` text
www-data, (*4)
### Crontab
Get current crontab, equivalent to `crontab -l`.
**Call**
``` php
$result = $client->cron->crontab();
Response
``` text, (*5)
My Cron Task
0 * * * * cd ~, (*6)
\My Cron Task
### Dump
Get current crontab journal. The journal is a file which gets built and then applied to the real crontab.
**Call**
``` php
$result = $client->cron->dump();
Response
``` text, (*7)
My Cron Task
0 * * * * cd ~, (*8)
\My Cron Task
### Create
Create a crontask entry. Note one entry per key, multiple calls with same key would simply update.
**Call**
``` php
$result = $client->cron->create('My Cron Task', '* * * * * cd ~');
Response
``` text, (*9)
### Get
Get a crontask entry, also has an alias method read.
**Call**
``` php
$result = $client->cron->get('My Cron Task');
Response
``` text
0 * * * * cd ~, (*10)
### Update
Update cron task.
**Call**
``` php
$result = $client->cron->update('My Cron Task', '0 * * * * cd ~');
Response
``` text, (*11)
### Delete
Delete a cron task.
**Call**
``` php
$result = $client->cron->delete('My Cron Task');
Response
``` text, (*12)
### Drop
Drop cron task journal (delete all, but does not apply it).
**Call**
``` php
$result = $client->cron->drop();
Response
``` text, (*13)
### Apply
Apply crontab journal to users crontab.
**Call**
``` php
$result = $client->cron->apply();
Response
``` text, (*14)
```, (*15)
Testing
There are no tests setup for this component., (*16)
Contributing
Please see CONTRIBUTING for details., (*17)
Security
If you discover any security related issues, please contact me via https://cherone.co.uk instead of using the issue tracker., (*18)
Credits
Development Encouragement
If you use this project and make money from it or want to show your appreciation,
please feel free to make a donation https://www.paypal.me/lcherone, thanks., (*19)
Get your company or name listed throughout the documentation and on each github repository, contact me at https://cherone.co.uk for further details., (*20)
License
The MIT License (MIT). Please see License File for more information., (*21)
See the organisations page for additional components., (*22)