《鸟哥的Linux私房菜》读书笔记:crontab、at命令详解

2024-06-17 14:08

本文主要是介绍《鸟哥的Linux私房菜》读书笔记:crontab、at命令详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、cron例行性,隔一定周期循环执行

  • crontab指令依靠服务crond的支持,除了指令,也可以编辑/etc/crontab配置文件来执行crontab。所要执行的任务记录在/var/spool/cron/中,且以账号作判别。任务执行的日志记录在/var/log/cron中
  • 安全方面,通过修改/etc目录下的cron.allow与cron.deny来设定用户能进行cron工作安排与否,如果档案不存在,只有root有权利执行。系统先查看cron.allow,如果不存在,再查看cron.deny。用户不在cron.allow中,即使用户也不在cron.deny档案,也不能使用cron。如果用户不在cron.deny中,则可以使用cron。系统默认保留cron.deny文件,cron.allow需要用户自行创建,推荐保留其中一个文件即可。
  • crontab语法:
crontab [-u username] [-ler]

-l:查阅所有任务
-r:移除所有任务,移除一项需用-e编辑
-e:编辑工作内容

编辑内容格式:

字段意义分钟小时日期月份指令
内容0-590-231-311-120-7(0、7都表示周天)指令内容

*:代表任何时刻都接受
,:代表分隔时段,被分隔的时间都适用
-:代表一段时间范围内
/n:代表每隔n个单位执行

  • crontab -e是针对使用者设计,系统的例行任务我们则编辑/etc/contab配置文件。
    cron服务最低侦测限制是分钟,cron每分钟读取/etc/crontab与/var/spool/cron里面的数据内容。编辑好/etc/crontab,cron会自动来执行这个文件中的任务。如果任务不能执行,可以重启cron服务/etc/init.d/crond restart
  • /etc/crontab字段中可能有run-parts指令,其作用是执行后面所接目录中的所有脚本
  • 周和日月不可同时并存,只能分别以周或者日月为单位循环
  • anacron配和/etc/anacrontab 的设定,可以唤醒停机期间系统未进行的crontab任务

二、at突发性,只执行一次

  • at指令依靠服务atd支持,/etc/init.d/atd restart开启服务,chkconfig atd on设置开机启动,所要执行的任务以文本形式记录在/var/spool/at/目录中,由服务atd执行。
  • 安全方面,通过修改/etc目录下的at.allow与at.deny来设定用户能进行at工作安排与否,如果档案不存在,只有root有权利执行。系统先查看at.allow,如果不存在,再查看at.deny。用户不在at.allow中,即使用户也不在at.deny档案,也不能使用at。如果用户不在at.deny中,则可以使用at。
  • at命令格式:
at [-lmdv] Time
at -c jobNum #查看该工作指令内容
atq #查询所有at任务
atrm jobNUM #删除任务
batch #系统不忙碌时再执行(CPU负载小于0.8),用法与at一样,也用atq/atrm管理

-m:at shell中即使没有输出信息,也可以使用邮件通知执行者
-l:查看当前用户所有at工作
-d:取消一个at工作
-v:以明显的时间格式查看at任务

  • 注意事项:at的执行和终端机环境无关,所有的标准输入输出都会发送到执行者的邮件箱中。想看见标准输出信息,可以使用echo “String” > /dev/tty[123456]

这篇关于《鸟哥的Linux私房菜》读书笔记:crontab、at命令详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069657

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推