文章目录
目录
文章目录
前言
一、crond和crontab
二、命令文档
三、命令使用
总结
前言
crontab
命令是用于在Unix和类Unix操作系统中安排定期执行的任务的命令。crontab
命令允许用户创建、编辑、显示和移除他们的crontab文件。通过在crontab文件中定义任务和执行时间,系统可以在特定时间自动执行这些任务。
一、crond和crontab
crond是Unix和类Unix系统中负责定时任务调度的守护进程,它是cron(cron daemon)的缩写。crond守护进程周期性地检查/etc/crontab和/var/spool/cron/目录下的文件,然后根据这些文件中定义的定时任务来执行相应的命令。
crontab是用于创建、编辑和管理用户定时任务的命令行工具。通过crontab命令,用户能够创建自己的crontab文件,并在其中定义定时任务。crontab命令通常会将任务的定义保存在/var/spool/cron目录下的以用户名命名的文件中。
crond是实际执行定时任务的守护进程,而crontab是用于与用户交互,管理用户定时任务的命令行工具。
/etc/crontab是系统任务的配置文件,一般是这个样子的:
而使用的语法已经直接给出了:
* * * * * user-name command to be executed
五个“*”,以及后面的需要执行的命令,这一行就代表是一项任务。
第一个“*”:表示分钟,取值0~59;
第二个“*”:表示小时,取值0~23;
第三个“*”:表示天,取值1~31;
第四个“*”:表示月,取值1~12;
第五个“*”:表示星期,取值0~7,0和7表示周日;
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件;
在前5个“*”代表的选项的位置又可以使用一些特殊字符,来提供更多的选择;
* :表示匹配任何值。
/ :表示指定时间间隔。
, :表示并列多个数值。
- :表示指定一个范围。
*/n :表示每n个单位执行一次操作。
而用户创建的任务配置目录在/var/spool/cron/下:
没有创建过任务:
crontabs为空;
创建过任务:
以用户名来命名;
二、命令文档
查看crontab的帮助文档:
man crontab
一般是这样子的:
crontab [ -u user ] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
crontab -u 操作crontab时指定具体的用户
crontab file 将一个包含定时任务配置的文件导入到用户的crontab中
crontab -e 创建/编辑一个crontab文件
crontab -l 显示当前用户的crontab文件内容
crontab -r 移除当前用户的crontab文件
三、命令使用
保存退出后,系统会自动执行该任务。
每分钟弹窗一次:
其他典型示例:
* * * * * command 每分钟执行一次
0,30 * * * * command 每整点和半点的时候执行一次
* 8-18 * * * command 每天8~18点每分钟执行一次
0 8-18/1 * * 1-6 command 周一到周六每天8点到18点 每小时执行一次
总结
重要提示:要保证命令文件具有可执行权限!