Menus

Wednesday, 23 June 2021

Cron jobs

 

Cron Jobs in Ubuntu


Cron is a time-based job scheduling. Cron runs in the background and tasks scheduled with cron, referred to as “cron jobs,” are executed automatically, making cron useful for automating maintenance-related tasks.


Commands

crontab -e : Edit your cron jobs.
crontab -l : List the all your cron jobs.
crontab -r : Delete the current cron jobs.


The schedule component of the syntax is broken down into 5 different fields, which are written in the following order:

FieldAllowed Values
minute0-59
hour0-23
Day of the month1-31
month1-12 or JAN-DEC
Day of the week0-6 or SUN-SAT

Format like this

minute hour day_of_month month day_of_week command_to_run

 To define the time you can provide concrete values for

 minute (m), hour (h), day of month (dom), month (mon),

 and day of week (dow) or use '*' in these fields (for 'any').# 

 Notice that tasks will be started based on the cron's system

 daemon's notion of time and timezones.


Examples

Every minutes

* * * * * php /var/www/html/yiitest2.0.39/yii test

you can run a backup of all your user accounts at 5 a.m every week with:

0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

12 * * * * - Run the command 12 minutes after every hour

0 4 * * * - Run the command every day at 4:00 AM.

*/15 * * * * - Run the command every 15 minutes


Cronjob in Yii2





Create console application

In advance template there is already a file yii. And there is no need to run it as php, it is Linux script.

Create cron service command

Create a controller in console/controllers

I have created as TestController.php

<?php

namespace console\controllers;

use yii\console\Controller;

/**
 * Test controller
 */
class TestController extends Controller {

    public function actionIndex() {
        echo "cron service runnning";
    }

    public function actionMail($to) {
        echo "Sending mail to " . $to;
    }

}

This controller should be use the console controller name space

use yii\console\Controller;

How to run it

run it as

yii test


Execute PHP Script Automatically at a Specified Time








No comments:

Post a Comment