• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux中普通用户的定时任务详解

    前言

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

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    上一篇:WHMCS V7.4.2 图文安装教程
    下一篇:Linux中设置路由以及虚拟机联网图文详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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