171029linux中的延时及定时任务
来源:互联网 发布:outlook邮箱的smtp端口 编辑:程序博客网 时间:2024/06/05 19:01
at延时任务
一、使用方法:
at 时间
>命令
>按ctrl +D退出
二、参数:
at -l #列出延迟任务id
-r 任务id #删除此id的任务
-m #让无输出的命令产生邮件
-M #让有输出的命令不产生邮件
-c 任务id #查看此id的延迟任务的执行动作
-f 文件 #用文件内记录的命令作为延迟任务的执行命令,可以延迟执行脚本
######################################root@server1 ~]# at 09:05
at> echo hello<EOT>
job 5 at Thu Nov 2 09:05:00 2017
[root@server1 ~]# at -l
5 Thu Nov 2 09:05:00 2017 a root
[root@server1 ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 4 messages 1 new
1 user@localhost.local Thu Oct 19 11:01 1537/75459 "[abrt] full crash re"
2 root Sun Oct 29 14:26 24/598 "Output from your job "
3 root Thu Nov 2 08:56 15/506 "Output from your job "
>N 4 root Thu Nov 2 09:05 14/489 "Output from your job "
& 4
Message 4:
From root@server1.localdomain Thu Nov 2 09:05:00 2017
Return-Path: <root@server1.localdomain>
X-Original-To: root
Delivered-To: root@server1.localdomain
Subject: Output from your job 5
To: root@server1.localdomain
Date: Thu, 2 Nov 2017 09:05:00 +0800 (CST)
From: root@server1.localdomain (root)
Status: R
hello
& q
Held 4 messages in /var/spool/mail/root
##################################
[root@server1 ~]# date
Thu Nov 2 09:08:24 CST 2017
[root@server1 ~]# at 10:00
at> echo abc<EOT>
job 6 at Thu Nov 2 10:00:00 2017
[root@server1 ~]# at -l
6 Thu Nov 2 10:00:00 2017 a root
[root@server1 ~]# at -r 6
[root@server1 ~]# at -l
#######################################
本来执行cd /mnt不会产生输出内容,但加上-m也会产生输出内容的邮件,只是为空罢了
[root@server1 ~]# at -m now+1min #一分钟后执行
at> cd /mnt<EOT>
job 9 at Thu Nov 2 09:16:00 2017
[root@server1 ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 5 messages 1 new
1 user@localhost.local Thu Oct 19 11:01 1537/75459 "[abrt] full crash re"
2 root Sun Oct 29 14:26 24/598 "Output from your job "
3 root Thu Nov 2 08:56 15/506 "Output from your job "
4 root Thu Nov 2 09:05 15/500 "Output from your job "
>N 5 root Thu Nov 2 09:16 13/483 "Output from your job "
& 5
Message 5:
From root@server1.localdomain Thu Nov 2 09:16:01 2017
Return-Path: <root@server1.localdomain>
X-Original-To: root
Delivered-To: root@server1.localdomain
Subject: Output from your job 9
To: root@server1.localdomain
Date: Thu, 2 Nov 2017 09:16:00 +0800 (CST)
From: root@server1.localdomain (root)
Status: R
& q
Held 5 messages in /var/spool/mail/root
You have mail in /var/spool/mail/root
###########################################
[root@server1 ~]# at 10:00
at> cd /mnt<EOT>
job 11 at Thu Nov 2 10:00:00 2017
[root@server1 ~]# at -l
11 Thu Nov 2 10:00:00 2017 a root
[root@server1 ~]# at -c 11
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
XDG_SESSION_ID=1; export XDG_SESSION_ID
HOSTNAME=server1; export HOSTNAME
SELINUX_ROLE_REQUESTED=; export SELI
...
三、at命令的使用控制
默认系统中全部用户 都有执行at命令的权力
1.用户黑名单
默认情况下,系统中是存在用户黑名单的,这个名单的路径
/etc/at.deny ##用户黑名单,此名单默认为空,并且在白名单不存在时生效
vim /etc/at.deny
student ##student使用at命令的权力被禁止
测试:
[root@server1 ~]# vim /etc/at.deny
student[root@server1 ~]# su - student
Last login: Tue Oct 31 23:03:04 CST 2017 on pts/0
[student@server1 ~]$ at 12:00
You do not have permission to use at.
2.用户白名单
默认系统中是不存在at的白名单的
但是当白名单出现,系统用户除名单中出现的用户以及root
其他用户均不能执行at命令
touch /etc/at.allow #建立用户白名单,当白名单出现,黑名单失效
测试:
[root@server1 student]# touch /etc/at.allow
student[root@server1 student]# vim /etc/at.allow
[root@server1 student]# su - student
Last login: Thu Nov 2 11:51:31 CST 2017 on pts/0
[student@server1 ~]$ at now+1min
at> cd /mnt<EOT>
job 12 at Thu Nov 2 11:58:00 2017
可以看到刚才黑名单中的student失效了
crontab定时任务
这个命令由crond.service 服务提供写入程序的时间时永久保存的
一、使用方法
crontab -e -u 用户名称(-u 用户名可以不写,就表示使用当前用户)
内容格式:分 时 天 月 周 动作
crontab -l #列出当前用户的cron任务,同样可以使用“-u 用户名称”方式
crontab -r #删除当前用户的cron任务,同样可以使用“-u 用户名称”方式
/var/spool/cron/* ##cron任务记录文件存放位置,不同用户的定时任务会有不同用户的名字文件。直接更改这个文件里面的内容和用crontab -e效果是一样的,crontab -e命令其实也只是打开了这个目录下的相应用户文件让你编辑而已。
测试:
[root@server1 ~]# ls /var/spool/cron/
root student
[root@server1 ~]# cat /var/spool/cron/root
* * * * * touch /mnt/file1
[root@server1 ~]# cat /var/spool/cron/student
* * * * * touch /mnt/file2
1.用户黑名单
默认情况下,系统中只存在黑名单,当白名单被建立,黑名单失效
/etc/cron.deny ##在此名单中的用户不能执行crontab
vim /etc/cron.deny
student ##student用户不能执行crontab
我们可以看到/etc/cron.deny是默认存在的
2.白名单
默认情况下,系统中只存在黑名单,当白名单被建立,黑名单失效
/etc/cron.allow ##用户白名单,当此名单出现,除root用户及名单中的用户,其他用户不能执行crontab
touch /etc/cron.allow ##建立白名单
我们可以看到,默认是没有/etc/cron.allow这个文件的。
vim /etc/cron.allowstudent ##只有student和root用户可以执行crontab,并且会使黑名单里的student限制失效。
三、文件方式定义crontab
vim /var/spool/cron/用户名称 #以某个用户身份执行cron,文件名称必须与用户名称一致
分 时 天 月 周 动作
vim /etc/cron.d/文件 #设定多个用户身份cron
分 时 天 月 周 用户 动作
tip:测试时先删除黑白名单
测试:
vim /etc/cron.d/aaa #aa这个文件名字随意
* * * * * root touch /tmp/rootfile* * * * * server1 touch /tmp/server1filewatch -n 1 ls -l /tmp/ #监控tmp目录下文件
1分钟之前:
1分钟之后:
可以看到,在aaa中配置的让哪个用户建立就会产生属于哪个用户名和组的文件。
- 171029linux中的延时及定时任务
- linux中的定时任务及延时任务
- linux中的定时及延时任务
- Linux中的定时及延时任务
- Linux中的定时及延时任务
- linux系统中的定时任务及延时任务
- linux系统中的定时任务及延时任务
- linux中的定时延时任务
- Linux系统的延时及定时任务
- linux中系统延时及定时任务
- Linux系统的延时及定时任务
- Linux system 定时及延时任务
- linux中的延时定时任务管理
- linux中的定时和延时任务
- linux中的延时与定时任务
- linux中设定系统延时任务及定时任务
- linux中的定时及延时命令
- 系统延时及定时任务
- 海盗分金-----逻辑题
- MySQL基础(3)——查询数据
- NOIP复赛复习(三)文件读写与数论模板
- 打造丝般顺滑的 H5 翻页库
- 想成为前端开发工程师,不能再错过这次机会了
- 171029linux中的延时及定时任务
- linux——系统延时及定时任务
- bootstrap table 使用详细讲解
- Linux-磁盘分区涉猎
- 求三位数的倒过来的数
- NOIP复赛复习(二)竞赛环境与注意事项
- Android Studio3.0安装完成后无法启动报错Fatal error initializing 'com.intellij.openapi.actionSystem.ActionManage
- android自定义view控件和自定义更改控件内容
- 3dmax模型导入unity3d