Regular tasks of ordinary users in linux

Reference resources:

Details of crontab command

Mail usage (use mail to view the execution of scheduled tasks)

centos system forbids normal users to use crontab command

Regular user-defined crontab scheduled tasks:

For example, oracle user defines a timing task: print the current directory every minute

[oracle@node2 ~]$ crontab -e
*/1 * * * * /bin/ls -al > /tmp/ls.log

How to judge whether a scheduled task has been executed?

First, the crond service needs to be running

[oracle@node2 ~]$ service crond status
Redirecting to /bin/systemctl status crond.service
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-07-15 08:27:38 EDT; 2min 43s ago
 Main PID: 6189 (crond)
   CGroup: /system.slice/crond.service
           └─6189 /usr/sbin/crond -n
[oracle@node2 ~]$ 

1. Use the mail command under the root user

[root@node2 ~]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 801 messages 9 new 94 unread
 N795 (Cron Daemon)         Sun Jul 15 08:25  35/932   "Cron <root@node2> /bin/ls"
 N796 (Cron Daemon)         Sun Jul 15 08:26  35/932   "Cron <root@node2> /bin/ls"
 N797 (Cron Daemon)         Sun Jul 15 08:27  35/932   "Cron <root@node2> /bin/ls"
 N798 (Cron Daemon)         Sun Jul 15 08:28  35/932   "Cron <root@node2> /bin/ls"
 N799 (Cron Daemon)         Sun Jul 15 08:29  35/932   "Cron <root@node2> /bin/ls"
 N800 (Cron Daemon)         Sun Jul 15 08:30  35/932   "Cron <root@node2> /bin/ls"
& file
"/var/spool/mail/root": 801 messages 9 new 94 unread
& h
>N793 (Cron Daemon)         Sun Jul 15 08:23  35/932   "Cron <root@node2> /bin/ls"
 N794 (Cron Daemon)         Sun Jul 15 08:24  35/932   "Cron <root@node2> /bin/ls"
 N795 (Cron Daemon)         Sun Jul 15 08:25  35/932   "Cron <root@node2> /bin/ls"
 N796 (Cron Daemon)         Sun Jul 15 08:26  35/932   "Cron <root@node2> /bin/ls"
 N797 (Cron Daemon)         Sun Jul 15 08:27  35/932   "Cron <root@node2> /bin/ls"
 N798 (Cron Daemon)         Sun Jul 15 08:28  35/932   "Cron <root@node2> /bin/ls"
 N799 (Cron Daemon)         Sun Jul 15 08:29  35/932   "Cron <root@node2> /bin/ls"
 N800 (Cron Daemon)         Sun Jul 15 08:30  35/932   "Cron <root@node2> /bin/ls"
&800
Message 800:
From root@node2.matengbing.com  Sun Jul 15 08:30:01 2018
Return-Path: <root@node2.matengbing.com>
X-Original-To: root
Delivered-To: root@node2.matengbing.com
From: "(Cron Daemon)" <root@node2.matengbing.com>
To: root@node2.matengbing.com
Subject: Cron <root@node2> /bin/ls
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=278>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Date: Sun, 15 Jul 2018 08:30:01 -0400 (EDT)
Status: R

\
anaconda-ks.cfg
Desktop
Documents
Downloads
initial-setup-ks.cfg
Music
Pictures
Public
Templates
Videos

In the mil interactive environment, the total number of current mails and other information are displayed through the file command

View recent messages through head

Enter a number to view the details of this message

2. View the log: tail -n 10 /var/log/cron

[root@node2 ~]# tail -n 10 /var/log/cron
Jul 15 08:31:01 node2 CROND[6297]: (root) CMD (/bin/ls)
Jul 15 08:31:01 node2 CROND[6298]: (oracle) CMD (/bin/ls -al > /tmp/ls.log )
Jul 15 08:32:01 node2 CROND[6321]: (oracle) CMD (/bin/ls -al > /tmp/ls.log )
Jul 15 08:32:01 node2 CROND[6322]: (root) CMD (/bin/ls)
Jul 15 08:33:02 node2 CROND[6342]: (root) CMD (/bin/ls)
Jul 15 08:33:02 node2 CROND[6343]: (oracle) CMD (/bin/ls -al > /tmp/ls.log )
Jul 15 08:34:01 node2 CROND[6362]: (root) CMD (/bin/ls)
Jul 15 08:34:01 node2 CROND[6363]: (oracle) CMD (/bin/ls -al > /tmp/ls.log )
Jul 15 08:35:01 node2 CROND[6382]: (oracle) CMD (/bin/ls -al > /tmp/ls.log )
Jul 15 08:35:01 node2 CROND[6383]: (root) CMD (/bin/ls)
[root@node2 ~]#

The log file records the scheduled task execution of all users

3. Use mail to view under ordinary users (users who perform scheduled tasks should be specified in the scheduled tasks, otherwise even the scheduled tasks defined under oracle users may not receive mail)

[oracle@node2 ~]$ crontab -l
*/1 * * * * oracle  /bin/ls -al > /tmp/ls.log 
[oracle@node2 ~]$ 

[oracle@node2 ~]$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/oracle": 6 messages 1 unread
    1 (Cron Daemon)         Mon Mar  5 14:10  52/2476  "Cron <oracle@localhost> ls -al"
    2 (Cron Daemon)         Sun Jul 15 06:10  57/2777  "Cron <oracle@node2> /bin/ls -al"
    3 (Cron Daemon)         Sun Jul 15 06:11  57/2777  "Cron <oracle@node2> /bin/ls -al"
    4 (Cron Daemon)         Sun Jul 15 06:12  57/2778  "Cron <oracle@node2> /bin/ls -al"
    5 (Cron Daemon)         Sun Jul 15 06:13  57/2778  "Cron <oracle@node2> /bin/ls -al"
>U  6 (Cron Daemon)         Sun Jul 15 08:38  26/929   "Cron <oracle@node2> oracle  /bin/ls -al > /tmp/ls.log"
& 

You cannot directly view the / var/log/cron file under normal users

[oracle@node2 ~]$ tail -n 10 /var/log/cron
tail: cannot open '/var/log/cron' for reading: Permission denied
You have new mail in /var/spool/mail/oracle
[oracle@node2 ~]$ 

There is another way to write timing tasks in the / etc/crontab file, but if you write them in centos7 and execute them in the file, an error will be reported

[oracle@node2 ~]$ cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
[oracle@node2 ~]$ 


Tags: Oracle crontab shell CentOS

Posted on Thu, 13 Feb 2020 15:03:39 -0500 by f1nutter