Crontabs

From Teltonika Networks Wiki

Introduction

Crontab is a list of commands that allows tasks (programs, scripts) to be run automatically at regular time intervals. For example, in RUT routers it is responsible for executing such services as Automatic Reboot functions, SIM Idle Protection, Scheduled SMS and others that function in a periodic manner.

The crontab can be opened for editing, adding, removing or modifying scheduled tasks. This article will provide an explanation of the crontab functionality principle and present some usage examples in hopes that it may help you configure your own crontab rules.

Crontab syntax and editing

Editing environment

--- Firstly, you must decide on what environment you want to use for editing. Crontabs can be edited via a Command Line Interface (CLI). RUT routers offer a range of options in that regard. For example, you can use the CLI present in the router's WebUI (Services → CLI). Or you can log in via SSH and make edits from there. The method of logging in via SSH is different on different systems: on Linux systems you can use the Terminal app log in with the command ssh root@<routers_lan_ip_address>; on Windows systems you can use the free PuTTY client.

In all cases the log in information is the same (user name: root; password: admin password (default: admin01)). The syntax of the commands is also the same, so feel free to follow the guide step-by-step whichever method you choose.

Once you've chosen your preferred environment, we can begin the overview on the syntax and editing of crontabs.

Syntax and editing


Crontab entries are stored in the /etc/crontabs/root file. You can edit that file directly with the command vi /etc/crontabs/root, but it is more convenient to edit with crontab -e, which we'll be using for all examples in this guide. -e is an option of the crontab command used for editing. Presented below is a list all options that can be used with crotab:

Usage: crontab [-c DIR] [-u USER] [-ler]|[FILE]
                                                                          
       -c      Crontab directory                                            
       -u      User                                                         
       -l      List crontab                                                 
       -e      Edit crontab                                                 
       -r      Delete crontab                                               
       FILE    Replace crontab by FILE ('-': stdin)  

As an example, lets try the -l option that shows the contents of the crontab file:

Configuration example 1 crontabs.png

For the sake of example, I've added a Ping Reboot rule to the router's configuration. In the figure above you can see that creating such a rule also generates an entry (encapsulated in green) in the crontab list. Let's examine this entry:

min    hour    day/month    month    day/week     Description
0-59   0-23    1-31         1-12     0-6

*/5    *       *            *        *            every 5 minutes
12     */3     *            *        *            every 3 hours at 12 minutes
57     11      15           1,6,12   *            At 11:57 Hrs on 15th of Jan, June & Dec.
25     6       *            *        1-5          At 6:25 AM every weekday (Mon-Fri)
0      0       4,12,26      *        *            At midnight on 4th, 12th and 26th of every month
5,10   9,14    10           *        0,4          At 9:05AM, 9:10AM, 2:05PM and 2:10PM every Sunday and Thursday


External links

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html - PuTTY downloads page link