crond
crond是Linux系统中的一个守护进程,主要用于周期性地执行某种任务或等待处理某些事件。而crondtab是配套的工作,用于定时任务的设置。
语法
crontab [选项]
常用选项
入门案例
- 执行
crontab -e
命令 - 输入任务到调度文件中
*/1 * * * * ls -l /etc/ > /tmp/to.txt
表示每分钟执行一次ls -l /etc > /tmp/to.txt
命令
查看crontab执行的任务
删除当前用户所有的crontab的任务
参数说明
5个占位符的说明:分-时-天-月-日
特殊符号说明
应用案例
每隔1分钟,将当前日期和日历都追加到/home/mycal文件中
vim /home/my.sh
写入内容data >> /home/mycal
和cal >> /home/mycal
- 给
my.sh
增加执行权限,chmod u+x /home/my.sh
crontab -e
,增加*/ * * * * /home/my.sh
补充命令
重启任务调度
service crond restart
at
at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。默认情况下,atd守护进程每60s检查作业队列,如果时间域当前时间匹配,则运行此作业。在使用at命令时要确保atd进程启动,可以使用ps -ef | grep atd
检查。
at命令格式
at [选项] [时间]
输入完成后,连续两次Ctrl + D
结束at命令
at命令选项
at指定时间
- 使用
hh:mm
指定时间,假如该时间已经过去,那么就在第二天执行。例如:04:00 - 使用midnight, noon, teatime(下午茶一般4点)等模糊词语指定时间
- 采用12小时制,即使用am或pm来说明上午还是下午。例如:12pm
- 使用相对计时法.指定格式为:
now + count time-units
,now就是当前时间, time-units是时间单位,这里能够是minutes(分钟)、hours (小时)、days(天) . weeks (星期)。count是时间的数量,几天,几小时。例如: now + 5 minutes - 直接使用today(今天)、tomorrow(明天)来指定完成命今的时间。