Cron—daemon to execute scheduled commands, Cron—daemon to execute scheduled commands -11 – Moxa Technologies THINKCORE W341 User Manual

Page 40

Advertising
background image

ThinkCore W311/321/341 Linux User’s Manual

Managing Embedded Linux

3-11

How to run the shell script automatically when the kernel boots up
Copy the example shell script

fixtime

to directory

/etc/init.d

, and then use

chmod 755 fixtime

to change the shell script mode. Next, use vi editor to edit the file

/etc/inittab

.

Add the following line to the bottom of the file:

ntp : 2345 : respawn : /etc/init.d/fixtime

Use the command

#init q

to re-init the kernel.

Cron—Daemon to Execute Scheduled Commands

Start Cron from the directory

/etc/rc.d/rc.local

. It will return immediately, so you don’t need to

start it with ‘&’ to run in the background.
The Cron daemon will search

/etc/cron.d/crontab

for crontab files, which are named after

accounts in /etc/passwd.
Cron wakes up every minute, and checks each command to see if it should be run in that minute.

When executing commands, output is mailed to the owner of the crontab (or to the user named in

the MAILTO environment variable in the crontab, if such a user exists).
Modify the file

/etc/cron.d/crontab

to set up your scheduled applications. Crontab files have the

following format:

mm

h

dom

mon

dow

user command

min

hour

date

month

week

user command

0-59

0-23

1-31

1-12

0-6 (0 is Sunday)

The following example demonstrates how to use Cron.
How to use cron to update the system time and RTC time every day at 8:00.
STEP1: Write a shell script named fixtime.sh and save it to /home/.

#!/bin/sh

ntpdate time.nist.gov

hwclock –-systohc

exit 0

STEP2: Change mode of fixtime.sh

#chmod 755 fixtime.sh

STEP3: Modify /etc/cron.d/crontab file to run fixtime.sh at 8:00 every day.

Add the following line to the end of crontab:

* 8 * * * root /home/fixtime.sh

STEP4: Enable the cron daemon manually.

#/etc/init.d/cron start

STEP5: Enable cron when the system boots up.

Add the following line in the file /etc/init.d/rc.local

#/etc/init.d/cron start

Advertising
This manual is related to the following products: