Linux下系统的定时及延时任务
一、系统的延时
- 是临时的。对系统做的任务指定一个时间点。发起的命令是at
at 时间点(now+1min) ## 设定任务实行时间
at> 执行命令 ## 任务的动作
at><EOT> ## 用ctrl+D发起任务
- at命令常用参数:
at -l 查看列表
at -c 任务号 查看任务内容
at -r 任务号 取消任务执行
注意:任务有输出的时候,输出会以邮件的形式发送给at任务的发起者。在超级用户下查看邮件命令:mail(邮件在/var/mail/root下)。
- 使用: mail -u root 查看root用户的邮件
按n表示查看第n封的内容
按q表示退出
> /var/spool/mail/root 清空邮件
二、设置延时任务的黑白名单
/etc/at.deny 系统中默认存在,在此文件中的用户不能执行at
/etc/at.allow 系统中默认不存在;当存在时,普通用户不能执行at命令,且只有在该文件中用户可以执行
在root用户下设置黑名单:vim /etc/at.deny 添加 student ##此时在student用户下,不可以执行延时任务的设定
在root用户下设置白名单:/etc/at.allow (该文件默认是不存在的)若建立出来,则普通用户不能执行at命令;除了超级用户,只有在at.allow里面的用户才能使用at命令。
注意:白名单出现,黑名单则会失效!
三、系统定时任务设定
该命令是永久的。
crond.service ## 当该服务开启时,控制定时任务生效(不会执行错误时间点的任务)
【2】crontab相关命令
- 使用命令: crontab -e -u root 对文件编辑,以下结果表示每分钟执行一次file1的创建 (-e 直接设定 -u 指定发起的用户 无-u默认当前用户)
注意:该文件目录是:/var/spool/cron/,文件名为root(用户发起者是谁,文件名就是谁)
- 使用命令:crontab -l -u root 查看该用户文件内容(与cat /var/spool/cron/root结果一样)
- 使用命令:crontab -r -u root 对该用户的文件内容的删除
【3】crontab 时间表示方式:
* * * * * rm -rf /mnt/* ## 表示每分钟执行一次
* /2 * * * * ## 表示每2分钟执行一次
* /2 09-17 * * * ##上午九点到下午的五点每两分钟执行一次
* /2 */2 * * * ## 每个两小时每两分钟
* /2 09-17 * * 5 ## 【2】 该【1】条件的基础上加上只在周五做
* /2 09-17 * 1 5 ## 每周周五和每月一号的早9晚5没两分钟执行一次
* /2 09-17 3,5 1 5 ##表示3月和五月每周周五和3.1及5.1的上午9点到下午5点,且每2分钟一次
注释: man crontab 命令使用查看
man 5 crontab 查看该文件
- 根目录下的anacron用来监控并执行漏过的定时任务(crond.service默认是开机自启动)
【3】文件的方式设定
1)交互式:
vim /etc/cron.d/filename ## 文件名自己取
* * * * * username action
实例:每分钟使用root用户执行/mnt/test/目录下文件的删除
注释:打开另一个终端,可以使用watch -n 1 ls /mnt/test/* 命令观察文件的内容
2)非交互式:
[root@foundation77 cron.d]# touch westos
[root@foundation77 cron.d]# cat westos
* * * * * root touch /mnt/test/xniu
【4】使用crontab命令的执行限定
/etc/cron.deny 系统中默认存在,在此文件中的用户不能执行crontab
/etc/cron.allow 系统中默认不存在;当存在时,普通用户不能执行crontab命令,且只有在该文件中用户可以执行
注意:这两个名单不会影响/etc/cron.d/目录中定时任务的发起及执行
示例:
1)修改/etc/cron.deny 文件,把student添加进去
2)修改/etc/cron.allow文件为空
3)使用 vim /etc/cron.b/westos,对内容进行修改
4)一分钟后,在/home/student目录下对文件进行查看:
[root@foundation77 cron.d]# ll /home/student/
-rw-r--r--. 1 student student 0 Aug 1 23:58 hello
四、临时文件的管理
【1】临时文件,顾名思义为当一个程序运行时,临时需要的文件。
cd /usr/lib/tmpfiles.d/
vim westos.conf
d /mnt/westos 777 root root 8s ## 各参数分别表示:目录形式 目录名 权限 用户 组用户 清理的时长
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ## 建立westos.conf里面的文件
systemd-tmpfiles --clean /usr/lib/temfiles.d/* ## 在时长到达后,执行该命令会对临时文件进行删除
【2】示例:
[root@foundation77 cron.d]# cd /usr/lib/tmpfiles.d/
[root@foundation77 tmpfiles.d]# systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
create_all.sh software test1 vm_kuaizhao.sh
creat_vm.sh test test.xml vm_reset.sh
file1 file6
[root@foundation77 tmpfiles.d]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##执行该命令的时候,时间要超过8s
[root@foundation77 tmpfiles.d]# ls /mnt/test1/
Linux下系统的定时及延时任务的更多相关文章
- linux 下crontab相关定时触发的配置规则
linux 下crontab相关定时触发的配置规则: 1.基本格式 :* * * * * command(分 时 日 月 周 命令)2.取值范围:分钟1-59 每分钟用*或者 */1表示小时1-23( ...
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- Linux下系统时间函数、DST等相关问题总结(转)
Linux下系统时间函数.DST等相关问题总结 下面这个结构体存储了跟时区相关的位移量(offset)以及是否存在DST等信息,根据所在的时区信息,很容易找到系统时间与UTC时间之间的时区偏移,另外根 ...
- linux下系统定时任务配置----crontab(mysql定时备份)
crontab命令用于设置周期性被执行的指令,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任 ...
- ***linux下用cron定时执行任务的方法
名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入 ...
- linux下crontab实现定时服务详解
http://www.jb51.net/LINUXjishu/151805.html 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动 ...
- Linux下的crontab定时执行任务命令详解
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“cr ...
- linux下使用crontab定时执行脚本
使用crontab定时执行脚本 cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务: crontab –e : 修改 crontab 文件,如果文件不存在会自 ...
- Linux下的crontab定时、执行任务命令详解 oracle 自动备份
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为&qu ...
随机推荐
- strcpy、sprintf、memcpy的区别
char*strcpy(char *dest, const char *src); 其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出 ...
- Job流程:决定map个数的因素
此文紧接Job流程:提交MR-Job过程.上一篇分析可以看出,MR-Job提交过程的核心代码在于 JobSubmitter 类的 submitJobInternal()方法.本文就由此方法的这一句代码 ...
- git介绍及常用命令
Git简介 linus 用C语言编写 2005年诞生 分布式版本管理系统 速度快,适合大规模,跨地区多人协同开发 分布式管理 Git 生态 Git 分布式版本管理系统 Gitlab git私库解决方案 ...
- KindEditor ctrl+v添加图片功能
原理: 监听粘贴事件(paste) 获取粘贴版数据,读取到图片数据流进行加载base64 传到后台服务端直接输出为图片文件保存后返回图片读取路径插入编辑器中 /** * 获取编辑器对象 */ wind ...
- Kruskal算法初步
2017-09-18 21:53:00 writer:pprp 代码如下: /* @theme: kruskal @writer:pprp @date:2017/8/19 @begin:21:19 @ ...
- 自定义ajax
// 动态添加script获取里面的数据,,可实现跨域,不跨的当然也可以 getFile:function(params){ try{ //创建script标签 var cbName=params.c ...
- vue-cli background iamge
vue-cli 可以将图片直接放在项目生成的 static 文件夹里,然后在components里面直接采用绝对路径去取就可以了. 在根目录里面都会有一个static目录,这个是用来存放静态文件的,把 ...
- (局部刷新)jquery.ajax提交并实现单个div刷新
web开发中我们经常会遇到局部刷新页面的需求,以前我经常使用ajax和iframe实现局部刷新,后来做政府的项目,对页面的样式要求比较多,发现使用iframe控制样式什么的很麻烦,所以就采用了新的办法 ...
- Eclipse 使用中遇到的一些问题!
解决办法~ 1.先检查本地svn 版本与Eclipse 中svn插件 的区别 2.发现版本一致,没解决,发现如图 发现 svn接口报错 javaHL(JNI) Not Available!@ 所以 ...
- 常见HTTP状态(304,)
一.1XX(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示:已经收到请求的第一部分,正在等待其余部分. 101(切换协议) 请 ...