linux命令-- Unix crontab at 定时任务命令 .
Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。
普通用户也可以使用crontab命令来创建和维护自己的crontab文件。由于是用户不能更改执行程序的标识的,因此用户的crontab就不需第六列──执行程序的用户身份,而只要直接跟随要执行的命令。使用 “crontab -e” 命令,使用编辑器按照相应的格式编辑自己的crontab文件,或者使用 “crontab -l ” 列出现有crontab文件的内容,当然只有root用户才能查看其他用户的crontab文件:
一般是执行crontab -e <username>,然后在里面填内容,可以man crontab获得帮助
根用户的 crontab 文件放在 /var/spool/crontab/root 中,其格式如下:
(1) (2) (3) (4) (5) (6)
0 0 * * 3 /usr/bin/updatedb
1. 分钟 (0-60)
2. 小时 (0-23)
3. 日 (1-31)
4. 月 (1-12)
5. 星期 (1-7)
6. 所要运行的程序
-----------------------------------------------------------------------------------
定时执行crontab使用方法详解
使用方式:
crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }
说明:
crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数:
-e:执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r:删除目前的时程表
-l:列出目前的时程表
时程表的格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子:
每月每天每小时的第 0 分钟执行一次 /bin/ls:
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup:
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name:
0 17 * * 1-5 mail -s \"hi\" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo \"haha\"
20 0-23/2 * * * echo \"haha\"
注意:
当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。
所有用户的crontab设置文件都放在/var/cron/tabs目录下,文件名与每个用户的用户名相同。cron中的命令执行结果将被系统使用mail寄给每个用户。在/var/cron目录下还有crontab执行的记录文件,系统管理员可以按照这个文件来检查系统安全性,检查是否有影响系统安全的程序被执行。
/usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。如果它是一个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。
与cron不同,at命令用于在一定的时间后或在一定的时刻执行设置好的命令。at命令使用一个时间参数表示何时执行命令,然后就从标准输入中读入要执行的命令,此时就如同在shell下操作一样输入要执行的命令,最后使用^D 退出输入命令的模式。用户不必担心真正执行命令时是否能够找到正确的程序,at会将当前shell的设置,包括环境变量,保留起来,以便在执行命令时创造一个与启动at时完全相同的执行环境。
$ at 1:00am +2days
wget ftp://ftp.cdrom.com/pub/FreeBSD/packages/All/netscape.tgz
^D
上面命令将在两天后的凌晨1:00时启动进程下载文件,当然at命令并不是十分精确,其执行时间只是表示大概时间,可能与标准时间存在一两分钟的差异。at也支持各种复杂的时间表示方法,可以使用hhmm,hh:mm,或者加上am或pm结尾的12小时制方式。还可以使用年月日,规定程序运行的日期:
$ at 1:00am Mar 5
echo Hello | mail root
^D
Job 5 will be executed using /bin/sh
$ atq
Date Owner Queue Job#
01时00分00秒 00/03/05 root c 5
$ atrm 5
用户的at程序执行结果也被系统邮寄给该用户,用户可以使用mail来查看程序的输出结果或执行错误。当用户启动at命令之后,可以使用atq命令来查看自己还没有执行的at命令,如果atq是由root执行,则将列出系统中所有没有执行的at命令。然后可以使用atrm命令根据atq输出Job号来删除at作业。
系统使用/var/at/at.allow和/var/at/at.deny文件来配置可以使用at命令的用户,和不可以使用at命令的用户。其中at.allow的优先权更高,如果存在at.allow,就只允许这个文件中列出的用户使用at,而不考虑任何不在这个文件中列出的用户。因此可以使用一个空at.allow文件禁止所有用户使用at。当不存在at.allow文件的时候,那么凡不在at.deny文件中列出的用户都可以使用
linux命令-- Unix crontab at 定时任务命令 .相关推荐
- 【运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】...
一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...
- 最全面的关于LINUX与UNIX下的dd命令详解
dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果.用的比较多的还是用dd来备份裸设备.但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方 ...
- linux unix命令详解,最全面的关于LINUX与UNIX下的dd命令详解
dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果.用的比较多的还是用dd来备份裸设备.但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方 ...
- linux 中使用 crontab 执行定时任务
2019独角兽企业重金招聘Python工程师标准>>> 1. 编辑定时任务: crontab -e //第一次运行会要求你选择编辑器,一般选择 vi 或 vim 2. 定时任务的格式 ...
- linux中使用crontab设置定时任务
1.crontab简介 crontab命令常见于 Unix和类Unix 的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab&quo ...
- linux shell 之 crontab(定时任务)详解
1.定义: crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取 ...
- linux远程设置crontab,Linux 设置定时任务crontab命令
1.crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调 ...
- 【linux】循序渐进学运维-基础命令篇
文章目录 前言 线上查询及帮助命令(2个) 文件和目录操作命令(18个) 查看文件及内容处理命令(21个) 文件压缩及解压缩命令(4个) 信息显示命令(11个) 搜索文件命令(4个) 用户管理命令(1 ...
- 【软件教程】在Ubentu上使用Crontab设置定时任务
在Linux上使用Crontab设置定时任务 设置任务有两个方法 使用crontab –e (非root用户可以使用) 文章用的这个 修改/etc/crontab文件(只有root用户可以用) 工具: ...
最新文章
- 为什么用Go编写机器学习的基础架构,而不是Python?
- 新手入门深度学习 | 4-4:保存模型的N种方法
- jzoj3511-cza的蛋糕【状态压缩dp,dfs】
- jquery sleep函数
- 分治 —— 简单分治
- java三个整型变量_初值自定义.if按由小到大的顺序输出这三个数_C语言实现3个数从小到大排序/输出的方法示例...
- 本来连学计算机的都不是,怎么却读了计算机研究生
- [tensorflow]tensorflow2.1.0使用内置方法进行培训和评估
- JavaScript高级程序设计4.pdf
- matlab mri的k空间,【基础理论】磁共振成像中K空间概念及其应用
- list去重及求两个list中元素的重复率
- MYSQL Day03~MySQL 常用命令汇总
- php写出个人所得税,php趣味编程-php求个人所得税
- 打印机服务器显示未连接,解决win10打印机提示“无法连接打印机 后台处理程序未运行”的方法...
- 11n/11ac/11ax 速率速查表
- 2010世界财富排行榜
- ML_12 Sum-Produkt Networks 和积网络
- BI神器Power Query(22)-- 同一列内多重替换(2)
- 基于python-django的neo4j人民的名义关系图谱查询系统
- MySQL 数据库 分组查询
热门文章
- android打电话,接电话,挂电话过程
- android认证失败怎么办,小米VIP认证失败怎么办
- AppImage 设置为图标启动(以 Wiznote和Navicat 为例)
- 第一范式转化为第二范式_管理学发展的范式转换及其哲学基础
- 没有外网只有内网,nuget离线安装nupkg的方法
- 第二十章 分布式任务调度中心DolphinScheduler架构设计
- wangeditor 最大字数_我为什么要做富文本编辑器【wangEditor5个月总结】
- Unity3D个人作品展示(Awakening觉醒森林)
- 听说reStructuredText不错
- 爬取千库网ppt_python爬取千库网