在linux下怎么让一个脚本定时运行?

 我来答
丰丰的风筝
高粉答主

推荐于2019-11-02 · 关注我不会让你失望
知道大有可为答主
回答量:165
采纳率:100%
帮助的人:2.5万
展开全部

Linux中,周期执行的任务一般由cron这个守护进程来处理  ps -ef | grep cron
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为“crontab”,是“cron table”的简写。

一、 cron在3个地方查找配置文件(设置shell脚本):

1、/var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对应的文件是/var/spool/cron/tomyanggang@barry$ sudo ls -l /var/spool/cron/(或有时是 /var/spool/cron/crontabs/)

-rw------- 1 root     crontab 1071 2011-09-19 17:20 root

-rw------- 1 yanggang crontab 1176 2011-09-24 11:07 yanggang

一般一个用户最多只有一个crontab文件(如:root, yanggang等),其对应日志在/var/spool/mail/root(或/var/spool/mail/yanggang)文件里

2、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/

# .---------------- minute (0 - 59) 

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR

#sun,mon,tue,wed,thu,fri,sat 

# |  |  |  |  |

# *  *  *  *  *  command to be executed

例如:

*/5 * * * * root /usr/libexec/atrun

minute:代表一小时内的第几分,范围 0-59。 

hour:代表一天中的第几小时,范围 0-23。 

mday:代表一个月中的第几天,范围 1-31。 

month:代表一年中第几个月,范围 1-12。 

wday:代表星期几,范围 0-7 (0及7都是星期天)。 

who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。 

command:所要执行的指令。 

3、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式