linux regular user timing task details

  • 2021-01-18 06:57:06
  • OfStack

preface

Common user defined crontab timing task: For example, oracle user defined 1 timing task: print the current directory every minute


[oracle@node2 ~]$ crontab -e

*/1 * * * * /bin/ls -al > /tmp/ls.log

How do I determine if a timed task has been executed? First the crond service needs to be running


[oracle@node2 ~]$ service crond status
Redirecting to /bin/systemctl status crond.service
 low  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 mail command under 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 mial interactive environment, through the file command to display information such as the current total number of messages through head to view the most recent message input number to view the details of the message

2. Check 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 ~]#

Timed task execution for all users is recorded in the log file

3. Use mail to view under ordinary users

Specify the user executing the scheduled task in the scheduled task, otherwise even the scheduled task defined under the oracle user 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"
&

The file /var/log/cron cannot be directly viewed by ordinary 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 ~]$

Timing tasks are also written in /etc/crontab, but written in this file in centos7 will report an error


[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 ~]$

conclusion


Related articles: