你好,关于crontab这块的内容,我在《linux就该这么学》中看到了相关的讲解,分享给你看看:
crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成 *** 作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度。系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
例如:
*/5 * * * * root /usr/libexec/atrun
minute(m) : 代表一小时内的第几分,范围 0-59。
hour (h) : 代表一天中的第几小时,范围 0-23。
mday (dom) : 代表一个月中的第几天,范围 1-31。
month(mon) : 代表一年中第几个月,范围 1-12。
wday (dow) : 代表星期几,范围 0-7 (0及7都是星期天)。
who : 要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。
command(command):所要执行的指令。
如果还是有不懂的问题,推荐你下载《linux就该这么学》这本书,里面比我讲的详细多了,肯定对你有帮助!
1. 简介
通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
2. 命令格式
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]
3. 命令参数
-u user:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
4. 文件格式
分 时 日 月 星期 要运行的命令
分钟0~59
小时0~23(0表示子夜)
日1~31
月1~12
星期0~7(0和7表示星期天)
要运行的命令
中间以空格隔开
5. 命令实例
每1分钟执行一次myCommand。*号之间用空格隔开
在上午13点到16点的第3和第15分钟执行
每隔两天的上午8点到11点的第3和第15分钟执行
每周一上午8点到11点的第3和第15分钟执行
每月1、10、22日的3 : 37重启smb
每星期六的晚上11 : 00 pm重启smb
每一小时执行一次myCommand
晚上11点到早上7点之间,每隔一小时执行一次myCommand
6. 创建一个新的crontab文件
创建一个名为usercron的文件,其中user是用户名,例如, bishopcron。在该文件中加入如下的内容。
注意添加注释,方便查看具体任务信息
7. 启动crontab
查看crontab 是否启动成功,检测crontab 服务是否启动:
没启动则要用下面命令:
重启crond服务,命令为:
8. 加入crontab
crontab bishopcron 创建完成或者更新脚本内容之后更新定时作业
9. 查看日志
更新crontab文件以后,Linux系统会提示形如“You have mail in /var/xxx/mail/xxxx”的内容。
这时,可以使用tail命令跟踪“/var/xxx/mail/xxxx crontab_file_name”路径下crontab文件的执行日志。可以看到相关的报错或者执行信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)