linux中普通用户的定时任务详解

作者:Java架构学习者 时间:2023-08-29 03:19:05 

前言

普通用户定义crontab定时任务:比如oracle用户定义一个定时任务:每分钟打印当前目录

[oracle@node2 ~]$ crontab -e

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

如何判断定时任务有没有执行?首先crond服务要处于运行状态

[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.在root用户下使用mail命令

[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

在mial交互环境下,通过file命令显示当前邮件总数等信息通过head查看最近的邮件输入编号查看该邮件的详细信息

2.查看日志: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 ~]#

日志文件中记录了所有用户的定时任务执行情况

3.在普通用户下使用mail查看

(定时任务中要明确执行定时任务的用户,否则即使在oracle用户下定义的定时任务可能不能收到邮件)

[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"
&

在普通用户下不能直接查看/var/log/cron文件

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

定时任务还有一种写在/etc/crontab文件中的方式,但是在centos7中写在该文件中执行会报错

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

来源:https://www.jianshu.com/p/4fe7abc0598c

标签:linux,普通用户,定时
0
投稿

猜你喜欢

  • 对于站长来说 最可悲的莫过于选择放弃

    2008-10-28 20:53:00
  • 利用腾讯微博应用频道给博客打造个性微博侧边栏

    2011-06-08 19:04:00
  • Linux中创建新用户并赋予指定目录的相关权限

    2021-12-19 07:29:28
  • PHPWind v7.3.2收藏夹分页链接错误问题

    2009-05-31 17:34:00
  • Windows服务器安全维护需注意八大要点

    2009-03-06 14:04:00
  • Win7推出在即 Gartner建议企业考虑五大问题

    2009-10-16 15:54:00
  • 土豆网和中影联合制作创意网络剧《MR.雷》

    2009-11-13 13:25:00
  • 2009年谈谈新手站长们如何选择广告联盟

    2009-01-21 11:41:00
  • IIS使用十大原则

    2010-04-04 18:16:00
  • 译言网:如何构建用户喜欢的web2.0网站

    2008-12-31 09:00:00
  • 蓝色理想曾沐阳:不要轻易做网站

    2008-04-23 12:26:00
  • 王通谈针对搜索引擎优化的八大要素

    2007-08-16 12:44:00
  • 21岁虚岁男孩靠一个网站,月收入5000元

    2008-01-02 13:08:00
  • 屏蔽低俗头像 打造绿色社区

    2009-02-16 10:38:00
  • WordPress 插件——AlexaRank

    2009-02-12 12:24:00
  • Discuz!7.0 中文验证码和语音验证码的使用技巧

    2009-09-05 07:09:00
  • Docker创建容器时目录权限踩坑

    2021-10-28 23:33:14
  • Linux中du-查看文件夹大小并按大小进行排序详解

    2022-05-07 08:00:20
  • Linux网络环境下如何玩转GMail信箱

    2010-03-11 19:00:00
  • vmware虚拟机ubuntu18.04安装教程

    2023-07-31 19:55:20
  • asp之家 网站运营 m.aspxhome.com