美文网首页程序员Java 杂谈
linux下普通用户的定时任务

linux下普通用户的定时任务

作者: Java架构学习者 | 来源:发表于2019-04-16 14:41 被阅读3次

普通用户定义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 ~]$

喜欢的点点关注,点点赞。

对Java技术,架构技术感兴趣的同学,欢迎加QQ群585550789,一起学习,相互讨论。

群内已经有小伙伴将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群领取。

相关文章

  • linux下普通用户的定时任务

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

  • crontab使用

    普通用户创建定时任务: ​ crontab -e #给自己创建定时任务 ​ cron...

  • linux下的定时任务-crontab

    在linux下,有时我们有一些定时任务需要执行,这时我们使用crontab命令来配置定时任务。在linux下用来周...

  • day 17

    第13章 Linux系统定时任务Cron(d)服务应用实践 1.1、Linux定时任务 1.1.1、什么是定时任务...

  • Linux定时计划反弹shell

    linux shell 之 crontab(定时任务)详解首先了解一下linux下的crontab crontab...

  • linux Crontab

    Linux Crontab:Linux中用于执行定时任务的工具crontab -e:编辑定时任务crontab -...

  • 定时任务

    Linux定时任务 什么是定时任务: 周期性的执行任务计划的软件,linux里定时任务常用软件有:Crond 使用...

  • Linux下的定时任务

    今天来写个linux定时任务的文章,因为太久没用,有点健忘了.写个文章来复习一下.先说一下时间的格式 首先准备好两...

  • linux crontab: 定时任务

    参考 crontab 定时任务 Linux之crontab定时任务

  • day17

    Linux系统定时任务 3W1H 框架 Linux系统定时任务: 1、什么是定时任务? 周期性的执行任务计划的软件...

网友评论

    本文标题:linux下普通用户的定时任务

    本文链接:https://www.haomeiwen.com/subject/olsbwqtx.html