Crone

Howto: Setup Cron job for RK-Hunter

Posted on Updated on

To setup as daily anti-virus scan report via email.

[root@server21 ~]# vi /etc/cron.daily/rkhunter.sh

Add the below lines to the file, change  email ID as yours.

#!/bin/bash
 /usr/local/bin/rkhunter --cronjob --rwo --nocolors | mail -s “Rkhunter daily run on `uname -n`” user@domain.com
 exit

Issue execute permission to the file,

[root@server21 ~]# chmod +x /etc/cron.daily/rkhunter.sh

Now you can receive daily security reports generated by RKHunter through email.
That’s it 🙂

Howto: Run crone job in seconds

Posted on Updated on

Here I have wrote a simple scripts to execute crone jobs in seconds of time. Using this we can schedule a job less than a minute,

#This script  to sync files fro EBS storage to S3  mounted under /ebs /s3cloud
_Seconds=2
a=0

_Delay=$(echo "60/$_Seconds" | bc)

while true
do a=$((a+1))
if [ "$a" == "$_Delay" ]; then
 exit 0
else
 sleep $_Seconds
 /usr/bin/rsync -abvz --size-only /ebs/ /s3cloud/
fi
done

Creating Crone is so easy see this.

Posted on Updated on

Creating a crone

You can create a crontab file by entering the following terminal command:

crontab -e

Entering the above command will open a terminal editor [Ubuntu uses Nano by default] with a new blank crontab file [or it will open an existing crontab if you already have one.] You can now enter the commands to be executed [see syntax below] before saving the file and exiting the editor. As long as your entries were entered correctly your commands should now be executed at the times/dates you specified. You can see a list of active crontab entries by entering the following terminal command:

crontab -l

Crontab syntax

A crontab file has six fields for specifying minute, hour, day of month, month, day of week and the command to be run at that interval. See below:

* * * * * command to be executed
– – – – –
| | | | |
| | | | +—– day of week (0 – 6) (Sunday=0)
| | | +——- month (1 – 12)
| | +——— day of month (1 – 31)
| +———– hour (0 – 23)
+————- min (0 – 59)

Crontab examples

Writing a crontab file can be a somewhat confusing for first time users [and the above table probably doesn’t help much!] Therefore I’ve listed below some crontab examples:

* * * * * <command> #Runs every minute
30 * * * * <command> #Runs at 30 minutes past the hour
45 6 * * * <command> #Runs at 6:45 am every day
45 18 * * * <command> #Runs at 6:45 pm every day
00 1 * * 0 <command> #Runs at 1:00 am every Sunday
00 1 * * 7 <command> #Runs at 1:00 am every Sunday
00 1 * * Sun <command> #Runs at 1:00 am every Sunday
30 8 1 * * <command> #Runs at 8:30 am on the first day of every month
00 0-23/2 02 07 * <command> #Runs every other hour on the 2nd of July

As well as the above there are also special strings that can be used:

@reboot <command> #Runs at boot
@yearly <command> #Runs once a year [0 0 1 1 *]
@annually <command> #Runs once a year [0 0 1 1 *]
@monthly <command> #Runs once a month [0 0 1 * *]
@weekly <command> #Runs once a week [0 0 * * 0]
@daily <command> #Runs once a day [0 0 * * *]
@midnight <command> #Runs once a day [0 0 * * *]
@hourly <command> #Runs once an hour [0 * * * *]

Multiple commands

A double-ampersand “&&” can be used to run multiple commands consecutively. The following example would run command_01 and then command_02 once a day:

@daily <command_01> && <command_02>

Disabling email notifications

By default a cron job will send an email to the user account executing the cronjob. If this is not needed put the following command at the end of the cron job line:

>/dev/null 2>&1

Specifying a crontab file to use

As mentioned at the top of this post, you can create a new crontab file with the “crontab -e” command. However, you may already have a crontab file, if you do you can set it to be used with the following command:

crontab -u <username> <crontab file>

Therefore the following command…

crontab -u tux ~/crontab

…would set Tux’s crontab file to that of the file named “crontab” residing in Tux’s home directory.
Removing a crontab file

To remove your crontab file simply enter the following terminal command:

crontab -r

Further information

Refer to the man page for further information about crontab. Enter the terminal command:

man crontab