加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX实战:Linux下计划任务和标准化工作流程

发布时间:2020-12-13 17:37:41 所属栏目:Linux 来源:网络整理
导读:《LINUX实战:Linux下计划任务和标准化工作流程》要点: 本文介绍了LINUX实战:Linux下计划任务和标准化工作流程,希望对您有用。如果有疑问,可以联系我们。 1、准时任务和计划任务: 2、一次性准时任务at (生产中很少使用) at命令:?at?[option]?TIME ? ?

《LINUX实战:Linux下计划任务和标准化工作流程》要点:
本文介绍了LINUX实战:Linux下计划任务和标准化工作流程,希望对您有用。如果有疑问,可以联系我们。

1、准时任务和计划任务:

2、一次性准时任务at(生产中很少使用)

at命令:?at?[option]?TIME
? ? ? ?常用选项:
? ? -V?显示版本信息:
? ? -l:?列出指定队列中等待运行的作业;相当于atq
? ? -d:?删除指定的作业;相当于atrm
? ? -c:?查看具体作业任务
? ? -f?/path/from/somefile:从指定的文件中读取任务
? ? -m:当任务被完成之后,将给用户发送邮件,即使没有标准输出
?#注意:作业执行命令的结果中的标准输出和错误以邮件通知给相关用户
?TIME:定义出什么时候进行?at?这项任务的时间
? HH:MM?[YYYY-mm-dd]
?noon,?midnight,?teatime(4pm)
tomorrow
now+#{minutes,hours,days,?OR?weeks}
? HH:MM?02:00
#在今日的?HH:MM?进行,若该时刻已过,则明天此时执行任务
?HH:MM?YYYY-MM-DD?02:00?2016-09-20
#规定在某年某月的某一天的特殊时刻进行该项任务
?HH:MM[am|pm]?[Month]?[Date]
04pm?March?17
17:20?tomorrow
HH:MM[am|pm]?+?number?[minutes|hours|days|weeks]
#在某个时间点再加几个时间后才进行该项任务
now?+?5?minutes
02pm?+?3?days?
执行方式:
1)交互式?2)输入重定向?3)?at?–f?文件
? ?依赖与atd服务,必要启动才能实现at任务
at队列存放在/var/spool/at目录中
? ?/etc/at.{allow,deny}控制用户是否能执行at任务
白名单:?/etc/at.allow?默认不存在,只有该文件中的用户才能执行at命令
黑名单:?/etc/at.deny?默认存在,拒绝该文件中用户执行
at命令,?而没有在at.deny?文件中的使用者则可执行
如果两个文件都不存在,只有?root?可以执行?at?命令

3、执行关机未能执行的计划任务:anacron

运行计算机关机时cron不运行的任务,?CentOS6以后版本取消anacron服务,
由crond服务管理
? ?对笔记本电脑、台式机、工作站、偶尔要关机的服务器及其它不一直开机
的系统很重要对很有用
? ?配置文件:?/etc/anacrontab,负责执行/etc/?cron.daily
/etc/cron.weekly?/etc/cron.monthly中系统任务.
?字段1:如果在这些日子里没有运行这些任务……
?字段2:在重新引导后等待这么多分钟后运行它
?字段3:任务辨认器,在日志文件中标识
?字段4:要执行的任务
? ?/etc/cron.hourly/0anacron执行
? ?当执行任务时,更新/var/spool/anacron/cron.daily?文件的时间戳?
CentOS6使用/etc/cron.daily/tmpwatch定时清除临时文件
? ?CentOS7使用systemd-tmpfiles-setup服务实现
配置文件:
? ?/etc/tmpfiles.d/*.conf
? ?/run/tmpfiles.d/*.conf
? ?/usr/lib/tmpfiles/*.conf
? ?/usr/lib/tmpfiles.d/tmp.conf
? ?d?/tmp?1777?root?root?10d
? ?d?/var/tmp?1777?root?root?30d
命令:
? systemd-tmpfiles?–clean|remove|create?configfile

4、计划任务crontab(生产中重点)

crontab命令:
crontab?[-u?user]?[-l?|?-r?|?-e]?[-i]
-l:?列出所有任务;
-e:?编纂任务;
-r:?移除所有任务;
-i:同-r一同使用,以交互式模式移除指定任务
-u?user:?仅root可运行,指定用户管理cron任务
控制用户执行计划任务:
? ?/etc/cron.{allow,deny}
用户cron
? ?crontab命令定义,每个用户都有专用的cron任务文件:
/var/spool/cron/USERNAME

crontab -e

#?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
?
特殊字符 ? ? ? ? ? ? ? ? ? ? ? ? 作用
? ?* 表示任何每一个,Ex:* * * * *表示的便是每一min
? ?- 表示一个范围,Ex:5-10 * * * * *表示第5到10分每min
? ?, 分割多个,Ex:5,6,7,10 * * *表示第5,10分四个时间点
? ?/n 表示每隔n个时间 Ex:*/4 * * * * 表示每隔4min

Ex:

*?23,00-07/1?*?*?*?/usr/local/bin/apache/bin/apachectl?graceful

?这里很容易懂得成为23-第二天7天每隔一小时重启一次apache服务.

由于秒的位置是*,实际成果是23-第二天7点每分钟重启一次apache服务.

正确的应该给分钟赋固定值

01?23,00-07/1?*?*?*?/usr/local/bin/apache/bin/apachectl?graceful

礼拜最好和日期不要同时用

1、日月为* *时刻,只是星期生效,这时刻取得时交集

2、日月有值的时刻,日期和星期同时生效,取并集

01?05?28?*?6,7?/bin/bash?/cron_scripts/backup_etc.sh?>/dev/null?2>&1

备份剧本会在周六周日或者每月28号,凌晨5点1分执行

5、crontab尺度化工作流程

?1、计划任务脚本指定寄存位置,便于维护和定期备份

?2、写定时任务前必须在前面写注释,包含以下:

? 添加计划任务的人,添加任务的时间,任务有效期,计划任务脚本的对象,脚本的作用,以及其他必要提醒其他注意的事项

?3、执行的脚本前加上/bin/bash或者/bin/sh,脚本必需使用完整的绝对路径

?4、定时任务,必要尽量避免标准输出和标准错误输出 结尾加上 >/dev/null 2>&1

? ?计划任务的尺度输出和尺度错误输出都会给root用户以邮件,很容易撑满磁盘消耗磁盘inode

?5、能用命令完成的也要写在剧本里

?6、在指定用户下执行相关的准时任务

?7、制定尺度的书写规范

其他使用注意:

?环境变量问题:计划文物的脚本得环境变量必要在脚本重新定义,可以手动在脚本内加载环境变量的配置文件如

. /etc/profile.

?时间变量的%必要转义

本文永远更新链接地址

《LINUX实战:Linux下计划任务和标准化工作流程》是否对您有启发,欢迎查看更多与《LINUX实战:Linux下计划任务和标准化工作流程》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读