crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。

cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。

每个域之间使用空格或者制表符分隔。格式如下:

crontab -l 在标准输出上显示当前的crontab。

-r 删除当前的crontab文件。

-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。

需要注意的是同同一用户默认只有一个crontab任务,例如root用户每次新建一个crontab任务都会覆盖之前的任务。

###表示每年的1月3月5月中每周一到周五的早晨8点向test.txt中插入一条"good morning"

使用crontab test.cron 即可启动该命令文件,到达指定时间系统将会自动执行文件中的命令。

综上所述,crontab 命令固然好用,但是执行任务的时间是死的,每天都是同一个时间执行任务,在做某些需要随机时间的特殊任务时,就显得没那么好用了。

所以,如果需要随机时间,就要用的shell脚本了。

首先创建一个shell脚本,test.sh

将随机生成的数字作为时间(在这里是作为分钟)写入cron文件,并通过按时执行shell脚本来将"good morning"插入到test.txt中,

由于该任务的时间即分钟是10以内的随机数,所以每次执行任务的时间是每天早晨8:00-8:09之间的随机时间,

通过这种方式就可以设置随机时间执行任务了。

如有错误,还请大佬多多包涵,谢谢!