linux 普通用户crond,linux下普通用户的定时任务
參考:
crontab命令詳解
mail用法(使用mail查看定時任務執行情況)
centos系統禁止普通用戶使用crontab命令
普通用戶定義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 /bin/ls"
N796 (Cron Daemon) Sun Jul 15 08:26 35/932 "Cron /bin/ls"
N797 (Cron Daemon) Sun Jul 15 08:27 35/932 "Cron /bin/ls"
N798 (Cron Daemon) Sun Jul 15 08:28 35/932 "Cron /bin/ls"
N799 (Cron Daemon) Sun Jul 15 08:29 35/932 "Cron /bin/ls"
N800 (Cron Daemon) Sun Jul 15 08:30 35/932 "Cron /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 /bin/ls"
N794 (Cron Daemon) Sun Jul 15 08:24 35/932 "Cron /bin/ls"
N795 (Cron Daemon) Sun Jul 15 08:25 35/932 "Cron /bin/ls"
N796 (Cron Daemon) Sun Jul 15 08:26 35/932 "Cron /bin/ls"
N797 (Cron Daemon) Sun Jul 15 08:27 35/932 "Cron /bin/ls"
N798 (Cron Daemon) Sun Jul 15 08:28 35/932 "Cron /bin/ls"
N799 (Cron Daemon) Sun Jul 15 08:29 35/932 "Cron /bin/ls"
N800 (Cron Daemon) Sun Jul 15 08:30 35/932 "Cron /bin/ls"
&800
Message 800:
From root@node2.matengbing.com? Sun Jul 15 08:30:01 2018
Return-Path:
X-Original-To: root
Delivered-To: root@node2.matengbing.com
From: "(Cron Daemon)"
To: root@node2.matengbing.com
Subject: Cron /bin/ls
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
X-Cron-Env:
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 ls -al"
2 (Cron Daemon) Sun Jul 15 06:10 57/2777 "Cron /bin/ls -al"
3 (Cron Daemon) Sun Jul 15 06:11 57/2777 "Cron /bin/ls -al"
4 (Cron Daemon) Sun Jul 15 06:12 57/2778 "Cron /bin/ls -al"
5 (Cron Daemon) Sun Jul 15 06:13 57/2778 "Cron /bin/ls -al"
>U 6 (Cron Daemon) Sun Jul 15 08:38 26/929 "Cron 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 ~]$
總結
以上是生活随笔為你收集整理的linux 普通用户crond,linux下普通用户的定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux字符设备文件的打开操作,Lin
- 下一篇: mqtt linux 编译,MQTT客户