系统延时与定时任务
来源:互联网 发布:学生双肩包推荐 知乎 编辑:程序博客网 时间:2024/05/21 19:39
at:
关于at的插话: 可以指定某一任务在将来的特定时间运行,该作业可能是一次备份、系统的检查或者特定时间发送的通知。那些花很长时间才可完成的作业正适合at命令,仅需要使用at命令设置为在一分钟或两分钟后执行。然后,您便可以进行安全注销,因为,该任务会在与shell会话断开的情况下运行 at命令必须指定任务应运行的时间,该时间可以是具体的时间或日期(例如,星期一 10:00 pm 或 7月15号),也可以是当前时间的相对时间(现在时间加上5min,现在时间加上3天或4:00 pm 加上1周)。 通过添加选项,您可以在任务完成是发送邮件(-m),或者从文件中读取任务(-f 文件),从而无需通过标准输入进行 在键入at命令行之后,按Enter并继续键入作业中包含的其他命令,任务可由多个命令组成,在完成键入要运行的命令时,在单独出现的一行中按Ctrl+d 完成任务
一、at的常用命令
at + time
at -l | atq #查看当前任务,两条命令的效果是一样的
atrm | at -d #取消指定任务
at -c 任务id #查看任务内容
at -f 文件名 #直接执行文件中的内容
at -M #Never send mail to the user
at -m #send mail to the user when the job has completed even if there was no output
二、设置权限
1.设置用户黑名单
su - root #首先,切换身份到root修改at的黑名单vim /etc/at.deny:wq
2.设置用户白名单
*前方高能:其中白名单一经被修改,没有在白名单上出现的人(除了root)都不能使用at命令
su - root #首先,切换到root身份,编写at的白名单vim /etc/at.allow
BUT!!!at命令都是一次性的,这一点很讨厌。所以,下面我们要说的是可以进行周期性永久的设定!!!
三、管理定时任务
插话: cron设备管理必须按计划定期重复运行的程序,后台程序crond每分钟唤醒一次,以允许嗯计划的任何任务用户使用crontab命令计划个人任务,系统管理员可以在系统范围配置文件中设置任务
1.实验前的检查工作
systemctl status crond.service ##查看crond.service是否正常工作
2.浅谈cron的分时天月周
1)时间所属范围 field allowed values------------- ---------------------------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 day of week 0-7(0 or 7 is Sunday)ps:月份和星期也可以使用名字,
2)时间书写格式 1* 2* 3* 4* 5* command 注释: 1*-----------------分钟 2*-----------------小时 3*------------------天 4*------------------月 5*------------------周
举例:
3)单个用户使用称为crontab(cron表)的文本文件登记任务crontab -u username -e ##发起任务 -r ##撤销任务 -l ##显示任务
3.1.1)在/test目录下建立文件,使用crontab创建好相应的命令后,观察命令是否会如期动作
3.1.2)实验效果如下:
3.2)撤销任务与显示任务的实现效果如下:
3.3)编辑相应的配置文件达到实现任务的结果
插话: 那么问题来了,前面所述的方法是以文件名来区分动作的执行者,那么,有没有一种方法可以让所有用户的命令放在一个文件中呢!答案是肯定的!! 而这种方法则需借助于crond.service,并且,他还具有"隐身"的功能,用上文所述的方法是监测不到他的行踪的,但是,任务还是会如期完成!
借助于crond.service实现定时任务:step1: cd /etc/cron.dstep2: vim filename ##编写相应的文件,格式在下图实验中有详解
打开/test/*的监视窗口,root身份编辑test文件使其每分钟删除一次/test/目录下的所有文件,同时,使用crontab查看root的任务表,发现确实没有记录! 然后,使用crontab在/test/下每分钟建立一个名为testfile的文件
Wait a minute…
last but not the least...... 在/etc/cron.d中编写的文件,如果执行者是普通用户,最好给相应的操作目录满权限~
四、系统中临时文件的处理方法
系统中服务在正常运行时会产生临时文件,这些文件的存放位置在 /usr/lib/tmpfiles.d/
文件示例:vim /usr/lib/tmpfiles.d/hx.confd /test/hx 700 root root 5s##格式:文件类型 文件绝对位置 权限 文件所有人 文件所有组 滞留时间##要求:必须在/usr/lib/tmpfiles.d/中,并且,以.conf结尾watch -n 1 ls -lR /test/*systemed-tmpfiles --create /usr/lib/tmpfiles.d/* ##扫描临时文件systemed-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清除临时文件
小测试:建立/mnt/demo目录,此目录中的文件必须存在两分钟以上的才会被清理,同时,系统每分钟清理/mnt/demo一次(要求:用脚本实现)
阅读全文
0 0
- 系统延时与定时任务
- 系统延时与定时任务
- 系统延时任务与定时任务
- 系统延时及定时任务
- 系统延时及定时任务
- 系统延时及定时任务
- 系统延时及定时任务
- 系统延时及定时任务
- 系统延时任务和定时任务
- Linux系统的延时及定时任务
- Linux_系统延时及定时任务
- linux中系统延时及定时任务
- Linux系统的延时及定时任务
- linux中的延时与定时任务
- linux系统中的定时任务及延时任务
- linux中设定系统延时任务及定时任务
- linux系统中的定时任务及延时任务
- 定时延时任务
- 单链表中的排序和逆置问题
- web开发和服务器介绍
- IC系统验证分析概述
- 【maven】pom配置:用overlays合并多个war
- spring 学习个概念总结:
- 系统延时与定时任务
- EffectiveC++学习笔记-条款41|42
- Android事件分发(2)
- 实训--day22
- 抽象类和接口之一
- 【转】ionicLoading,ionic-spinner SVG旋转加载
- ajax中文乱码问题
- NOIP2015提高组简单题
- js闭包