技术标签: at Linux 系统延时和定时任务 crontab
系统延时任务是通过at命令实现的,负责这个延时任务的服务是atd服务,通常这个服务默认是开启的,但并非所有的linux发行版都会默认把它打开。某些时候我们需要手动启用才行 (/etc/init.d/atd start)。
> /var/spool/mail/root ##清空邮件内容
注意:rm(删除)没有输出,mail中不显示
at[参数][时间]
命令功能: 在一个指定的时间执行一个指定任务,其发起的延时任务都是一次性的。其中,快捷键‘Ctrl+D‘执行命令。
命令参数:
at -l | atq ##查看当前任务
at -r ##取消指定时间的任务
at -c 任务编号 ##查看任务内容
at now+1min ##延迟1分钟执行任务
at -f file ##延迟执行文件中的内容
at -m ##延迟命令没有输出时,仍然发送邮件给执行者
at -M ##延迟命令有输出时,不发送邮件给执行者
atrm 任务编号 | at -d ##取消相应的任务
执行任务前:
执行任务后:
[root@server16 ~]# mail ##邮件方式将已执行的任务发送给root用户
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 3 messages 3 new
>N 1 [email protected] Fri Jan 19 16:41 108/4834 "[abrt] initial-setup-"
N 2 [email protected] Sat Jan 20 11:36 1397/67472 "[abrt] cheese: chees"
N 3 root Sun Jan 21 15:06 14/500 "Output from your job "
& q ##q表示退出,&后也可接任务号,显示该任务的详细信息
Held 3 messages in /var/spool/mail/root
You have mail in /var/spool/mail/root
[root@server16 ~]# > /var/spool/mail/root ##清空邮件
[root@server16 ~]# mail
No mail for root
配置文件:
/etc/at.deny ##用户黑名单,在此名单中出现的用户不能执行at命令
/etc/at.allow ##用户白名单,系统默认不存在,但名单一旦出现,黑名单失效
##系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令
注意: 系统黑名单和白名单都不限制超级用户
使用黑名单前,普通用户student可以正常使用at命令;将普通用户student加入黑名单后,其不能正确使用at命令。
延时任务只能执行一次,对任务进行一次调度。但是如果我们想要循环调度某个工作,定时任务使用crontab命令。
/etc/cron.deny ##用户黑名单,在此名单的用户不能执行crontab命令
/etc/cron.allow ##用户白名单,名单默认不存在,但名单一出现,黑名单失效,系统所有用户默认不能执行crontab,只有在白名单中
/etc/cron.allow 比 /etc/cron.deny优先级高,这两个文件只选择一个来限制,因此只需要保留一个即可,一般情况下系统默认保留/etc/cron.deny.
当用户使用crontab命令新建工作调度之后,该项工作会被记录到/etc/spool/cron/目录下,以帐号作为区别,例如:www这个用户使用crontab后,他的工作就会被记录到/var/spool/cron/www里边去。cron执行的每一项工作都会被记录到/var/log/cron这个日志文件当中。所以查看linux是否植入木马,也可以查询一下/var/log/cron日志文件。
分钟 小时 天 月 周
* * * * * ##每分钟
*/2 * * * * ##每两分钟
* 08-17 * * * ## 每天早上8点-下午5点每分钟
* 08-17 1,15 * * ##每月1号和15号的早上8点-下午5点每分钟
* 08-17 1,15 3 * ##三月1号和15号的早上8点-下午5点每分钟
* 08-17 1,15 3 5 ##三月1号和15号以及每周五的早上8点-下午5点每分钟
发起方式一:
1)命令格式
crontab -e ##编辑当前用户的定时任务
crontab -r ##取消当前用户的所有定时任务
crontab -l ##查看当前用户的所有定时任务
crontab -e -u username ##编辑username的定时任务
crontab -r -u username ##取消username的所有定时任务
crontab -l -u username ##查看username的所有定时任务
2)文件内容:
* * * * * 动作 ##分 时 天 月 周 + 动作
实例:
注意:
/var/spool/cron/username ##编辑该文件,永久定时任务,实质所有定时任务存储在该文件中
ls /var/spool/cron ##查看当前定时任务的发起人
若删除/var/spool/cron/username,则删除当前username的定时任务
发起方式二:文件格式
vim /etc/cron.d/filename ##配置文件
文件格式:
分 时 日 月 星期 用户 命令
* * * * * root rm -fr /mnt/* ##超级用户每分钟清理一次/mnt下的文件
第1列分钟0~59
第2列小时0~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~7(0和7表示星期天)
第6列要运行的命令
[root@server16 cron.d]# vim westos
[root@server16 cron.d]# rm -fr /mnt/*
[root@server16 cron.d]# chmod 777 /mnt ##加权限,使得普通用户也可访问
配置文件 /etc/cron.d/westos
[root@server16 cron.d]# chmod 777 /mnt ##加权限,使得普通用户也可访问
[root@server16 cron.d]# > westos
[root@server16 cron.d]# echo "* * * * * root rm -fr /mnt/*"
* * * * * root rm -fr /mnt/*
[root@server16 cron.d]# echo "* * * * * root rm -fr /mnt/*" >/etc/cron.d/westos
注意:echo命令说明
[root@localhost ~]# echo student date ##将其后的字符串输出
student date
echo "* * * * * student date" ##引号原因,*为特殊字符
cron.d/##用户自定义文件
cron.daily/##系统每天执行一次
cron.hourly/##系统每小时执行一次
cron.monthly/ ##系统每月执行一次
cron.weekly/##系统每周执行一次
系统中服务在正常运行时会产生临时文件,在系统中 /usr/lib/tmpfiles.d/ 标实服务的临时文件存放位置。
systemd-tmpfiles ##系统初始化程序
配置文件
/urs/lib/tmpfiles.d/xxx.conf ##系统临时文件的配置
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##执行临时文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清里临时文件
文件格式:
/urs/lib/tmpfiles.d/xxx.conf
文件类型 文件名称 文件权限 文件所有人 文件所有组 文件存在时间
d /mnt/westos 777 root root 10s
[root@localhost ~]# cd /usr/lib/tmpfiles.d/
[root@localhost tmpfiles.d]# ls
abrt.conf lvm2.conf spice-vdagentd.conf
cups.conf mdadm.conf subscription-manager.conf
cups-lp.conf pam.conf systemd.conf
gvfsd-fuse-tmpfiles.conf ppp.conf systemd-nologin.conf
initscripts.conf rpm.conf tmp.conf
iscsi.conf samba.conf x11.conf
legacy.conf saslauthd.conf
libselinux.conf selinux-policy.conf
[root@localhost tmpfiles.d]# vim westos.conf ##建立.conf文件
d /mnt/tmp 1777 root root 8s ##文件内容
[root@localhost mnt]# systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##执行临时文件配置
[root@localhost mnt]# ls
tmp ##生成tmp文件
[root@localhost mnt]# ll
total 0
drwxrwxrwt 2 root root 6 Apr 13 01:28 tmp
[root@localhost mnt]# cd tmp
[root@localhost tmp]# touch file
[root@localhost tmp]# touch file1
[root@localhost tmp]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理临时文件
[root@localhost tmp]# ls ##8秒后file文件被清理,只剩下file1文件
file1
配置文件 /lib/tmpfiles.d/ westos.conf
实验过程截图:
查漏补缺
[root@localhost tmpfiles.d]# which systemd-tmpfiles
/usr/bin/systemd-tmpfiles
[root@localhost tmpfiles.d]# rpm -qf /usr/bin/systemd-tmpfiles ##查找安装包
systemd-208-11.el7.x86_64
[root@localhost tmpfiles.d]# rpm -ql /usr/bin/systemd-tmpfiles ##查询软件生成文件,即配置文件的位置
package /usr/bin/systemd-tmpfiles is not installed
vscodevim安装在扩展中搜索vim选择vscodevim进入vscodevim设置修改settings.json将以下代码加入其中{“workbench.colorTheme”: “Abyss”,“vim.easymotion”: true,“vim.sneak”: true,“vim.incsearch”: true,“vim.useSystemClipboard”:...
1. 说明 在企业应用系统领域,会面对不同系统之间的通信、集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要。其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方,比如发送短信,邮件提醒,更新文章阅读计数,记录用户操作日志等等,如果实时处理的话,在用户访问量比较大的情况下,对系统压力比较大。面对这些问题,我们一般会将这些请求,放在消息队列MQ中处理;...
图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)阅读本文前,请确保你已经掌握了递归、栈和队列的基本知识,如想掌握搜索的代码实现,请确保你能够用代码实现栈和队列的基本操作。深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search,简称 BFS)是图论中两种非常重要的算法,也是进行更高的算法阶段学习的最后一道门槛。搜索算法频繁出现在算法竞赛题中,尤其是深度优先搜索,在竞赛中,它是用来进行保底拿分的神器!本文将.._用栈实现dfs图解
在CDH平台上为Streamsets导入扩展包前, 先设置一个用来存储这些扩展包的目录在Cloundera管理平台界面中, 选择StreamSets服务 然后点击Configuration.在 Configuration 页面, 在 Data Collector 高级配置选项中的 (Safety Valve) sdc-env.sh 区域, 增加环境变量 STREAMSETS_LIBRARIES_E..._java external libraries
*今天给大家带来最经典的递归——斐波那契数列* 斐波那契数列一.什么是斐波那契数列?二.什么是递归(简述)?三.程序分析分析与图解代码C/C++一.什么是斐波那契数列?斐波那契数列,又称黄金分割数列,最早是以兔子繁殖为例子…(数学源于生活嘛.哈哈),所以又称为“兔子数列”,例如:0,1, 1,2, 3,5, 8,13, 21… …如图:————————————————————————————————————————————......_斐波那契数列c++代码
由于上次发表的自适应滤波器LMS算法涉及到要寻求矩阵最大特征值,因此一直寻思着找个C语言的雅克比算法,下面的代码也是自己试过了,望各位有问题可以提问,谢谢!!!矩阵的特征值和特征向量是线性代数以及矩阵论中非常重要的一个概念。在遥感领域也是经常用到,比如多光谱以及高光谱图像的主成分分析要求解波段间协方差矩阵或者相关系数矩阵的特征值和特征向量。 根据普通线性代数中的概念,特征值和特征向量可以用传..._c语言实现雅可比矩阵
问:我也是钣金人,怎么加入组织?答:点标题下方蓝字“钣金学习网来源自由检验员联盟,如有侵权请联系我们!基本坡口符号坡口符号(注:图中“破”应为“坡”)焊接图纸符号标注图解示例焊接符号标注实例及方法在焊接结构图样上,焊接方法可按国家标准GB5185-85的规定用阿拉伯效字表示,标注在指引线的尾部。常用焊接方法代号见表3-9所示。如果是组合焊接方法,可用“/”分开,左侧表示正面(或盖面)的..._焊点二维图标识
IEEE 802.1x 称为基于端口的访问控制协议(Port based network access control protocol)。基于端口的访问控制(Port based network access control)能够在利用IEEE 802 LAN的优势基础上提供一种对连接到局域网(LAN)设备或用户进行认证和授权的手段。通过这种方式的认证,能够在 LAN 这种多点访问环境中提供一种_摄像头可以使用802.1x认证嘛
集合论中,设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集(intersection),记作A∩B。INTERSECT运算符是一个集合运算符,它仅返回两个查询或更多查询的不同行。在MySQL数据库中,INTERSECT就可以用来查询交集内容。一、INTERSECT运算符的语法(SELECT column_listFROM table_1)INTERSEC..._mysql 交集函数
华三交换机IRF配置1、主机2、备机1、主机irf member 1 priority 32 //将主机IRF优先级调高,指定该台设备为主机interface range Ten-GigabitEthernet1/0/51 Ten-GigabitEthernet1/0/52shutdown //把端口shutdown了才能加入IRF端口组irf-port 1/1 //将IRF端口加入I..._华三交换机堆叠配置命令
Hexo是什么? Hexo是一个快速、简洁且高效的博客框架,使用Markdown解析文章,可利用可定制的主题生成静态网页。安装 必备程序:Node、Git使用npm安装hexo-clinpm install/i -g hexo-cli初始化Hexo项目目录hexo init <folder>安装完成,启动服务测试。cd <f...
点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达如果想要机器能够进行思考,我们需要先教会它们去看。李飞飞——Director of Stanford AI Lab ..._计算机视觉进阶