指引网

当前位置: 主页 > 服务器 > Nginx >

阿里云ECS Linux系统通过Crontab添加定时任务

来源:网络 作者:佚名 点击: 时间:2017-08-02 23:30
[摘要] Linux系统中,我们可以使用定时任务在每天的特定时间段运行作业,或在一周或一月中的不同时段运行。cron是Linux系统主要的调度进程,可以在...
Linux系统中,我们可以使用定时任务在每天的特定时间段运行作业,或在一周或一月中的不同时段运行。cron是Linux系统主要的调度进程,可以在无需人工干预的情况下运行作业。通过crontab命令允许用户提交、编辑或删除相应的作业,用于设置周期性执行的指令或脚本。每一个用户都可以有一个属于自己的crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。

 

在命令行中通过crontab命令来为您的用户账号添加一条新的定时任务:

$ crontab -e

 

如果您为别的用户账号添加定时任务,您可以加上-u参数:

$ sudo crontab -u -e

 

此时系统会为您打开一个文本编辑器,您可以在其中添加您想要设置的定时任务(由于系统不同,您可以看到的内容与下图不一致)

 阿里云ECS Linux系统通过Crontab添加定时任务

 

crontab 文件中每行任务由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间,每个字段的值域范围如下:

分钟(0-59)

小时(0-23)

日期(1-31)

月份(1-12)

星期几(0-7,其中0和7代表星期日)

第6个字段是待定时执行的命令或脚本字符串。

 

以下是一些定时任务的例子:

* * * * * /home/myuser/script.sh: 每分钟执行一次脚本

0 * * * * /home/myuser/script.sh: 每小时执行一次脚本

0 0 * * * /home/myuser/script.sh: 每天零点执行一次脚本

0 9,18 * * * /home/myuser/script.sh: 每天9点和18点各执行一次脚本

0 9-18 * * * /home/myuser/script.sh: 每天9点到18点之间,每小时执行一次脚本

0 9-18 * * 1-5 /home/myuser/script.sh: 每周周一到周五,9点到18点之间,每小时执行一次脚本

*/10 * * * * /home/myuser/script.sh: 每10分钟执行一次脚本

 

一旦添加、修改好定时任务,可以通过 Ctrl+X 键来保存修改。可以通过crontab -l 查看定时任务列表。

之后,需要重启cron服务让crontab配置文件生效。在Fedora和Redhat中,可以用以下命令进行重启: 

/etc/rc.d/crond restart 

 

如果让crond在开机时运行,应该改变其运行级别: 

chkconfig –level 35 crond on 

 

也可以通过service crond status查看cron服务状态,如果没有启动则service crond start启动它。

------分隔线----------------------------