crontab
被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
命令格式
crontab [-u user] file
crontab [-u user] { -e | -l | -r }
-
-u
user:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。 -
-e
:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。 -
-l
:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。 -
-r
:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。 -
-i
:在删除用户的crontab文件时给确认提示。
crontab 文件格式
分 时 日 月 星期 要运行的命令
- 第1列分钟1~59
- 第2列小时1~23(0表示子夜)
- 第3列日1~31
- 第4列月1~12
- 第5列星期0~7(0和7表示星期天)
- 第6列要运行的命令
一共6个参数,5个日期,一个命令,从小到大,分、时、天、月,加一个星期。
举例:
- 每天两点执行命令,* 表示 每
00 02 * * * command
- 每分钟执行命令
* * * * * command
- 每隔5分钟执行命令,
*/
表示每隔
*/5 * * * * command
- 在2:01、2:02、2:03各执行一次命令
01-03 02 * * * command
- 在某几个时间点,两点和三点各执行一次命令
00 02,03 * * * command
如果有多个命令则分行写。
举例
1.创建定时任务
在任意目录新建任意文件,比如:mycron
* * * * * date >> a.txt
然后执行:
crontab mycron
表示打印时间信息到用户目录 ~/a.txt
文件中。没有任何反应则表示执行成功。
结果:
➜ tail -f ~/a.txt
Sun Mar 8 23:40:00 CST 2020
Sun Mar 8 23:41:00 CST 2020
2.查看现在进行的任务脚本
➜ ~ crontab -l
* * * * * date >> a.txt
3.删除定时任务
➜ ~ crontab -r