Menus

Showing posts with label cron job in ubuntu. Show all posts
Showing posts with label cron job in ubuntu. Show all posts

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