crond是Linux用来定期执行程序的命令。crond命令每分钟会检查是否有要执行的工作, 如果有要执行的工作便会自动执行该工作。cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务:
crontab -u:设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数;
crontab -l :列出某个用户的cron服务;
crontab -r:删除某个用户的cron服务;
crontab -e:编辑某个用户的cron服务;
crontab file的格式:
crontab文件中的行由6个字段组成,不同字段间用空格分隔。前5个字段指定命令要运行的时间:
分钟(0-59) 小时(0-23)日期(1-31)月份(1-12)星期(0-6,0代表星期日)
第6个字段是一个要在适当时间执行的字符串
下面我们具体看一个例子,它每隔一分钟向test.log文件里面打印一行字符串“my name is yang xuesong”:
corn.c文件:
#include<stdio.h>
#include<unistd.h>
int main()
{
FILE *fp;
char *buf="my name is yang xuesong\n";
fp=fopen("test.log","a+");
fwrite(buf,strlen(buf),1,fp);
fclose(fp);
return 0;
}
crontab file文件:
1/* * * * * /home/yxs/cron //可执行文件cron所在的目录路径
执行结果如下:
我们可以看到test.log文件里面每隔一分会打印一行消息。
或者我们可以用下面的方法往test.log里面打印字符串:
crontab file文件里面的内容:
*/1 * * * * echo “my name is yang xuesong!”>> /home/yxs/test.log
运行结果: