# Linux定时任务(使用crontab)的实现

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/10080.html | 发布：2022-09-15 | 更新：2022-09-15 | 分类：建站教程、投稿分享

### 借助linux下自带的 crontab即可实现定时任务。

 

## **crontab [-u username] [-l|-e|-r]**

 

参数：

 

**-u**: 只有root才能进行这个任务，也即帮其他用户新建/删除crontab工作调度;

 

**-e**: 编辑crontab 的工作内容;

 

**-l**: 查阅crontab的工作内容;

 

**-r**: 删除所有的crontab的工作内容，若仅要删除一项，请用-e去编辑。

 

crontab -e

 

#此时会进入vi的编辑界面让你编辑工作。注意到，每项工作都是一行。

 

```
 0    12   *   *   *   bash xx.sh //你要执行的shell脚本或其它linux命令
#分   时   日   月  周  |《=============命令行=====================1
```

 
 
- 2 

 
 
- 1 
- 2 

 

| 代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
|---|---|---|---|---|---|---|
| 数字范围 | 0~59 | 0~23 | 1~31 | 1~12 | 0~7 | 就是命令啊 |

 

当周的数字为0或7时，都代表“星期天”的意思。另外，还有一些辅助的字符，大概有下面这些：

 

| 特殊字符 | 代表意义 |
|---|---|
| *(星号) | 代表任何时刻都接受的意思。举例来说，日、月、周都是*，就代表着不论何月、何日的礼拜几的12：00都执行后续命令的意思。 |
| ,(逗号) | 代表分隔时段的意思。举例来说，如果要执行的工作是3：00与6：00时，就会是：0 3,6 * * * command时间还是有五列，不过第二列是 3,6 ，代表3与6都适用 |
| -(减号) | 代表一段时间范围内，举例来说，8点到12点之间的每小时的20分都进行一项工作：20 8-12 * * * command仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思/n(斜线) 那个n代表数字，即是每隔n单位间隔的意思，例如每五分钟进行一次，则：*/5 * * * * command用*与/5来搭配，也可以写成0-59/5，意思相同 |

 
 
1. 为当前用户创建cron服务

 

键入 crontab -e 编辑crontab服务文件

 

例如 文件内容如下： 
1. */1 * * * * bash /root/s.sh >>/root/log

 
 
  1. 然后保存文件并并退出。  
会提示：`crontab: installing new crontab`，表示创建成功。  
让输入 `crontab -l`即可显示创建了的定时任务。  
![Linux定时任务(使用crontab)的实现](https://www.mfisp.com/wp-content/uploads/2022/09/10080-eCBwKo.png) 
  1. 启动crontab服务

 

一般默认都是启动的，要是没有启动，就使用下面的方法。

 

一般启动服务用 `/sbin/service crond start` 若是根用户的cron服务可以用 `sudo service crond start`， 这里还是要注意 下 不同版本linux系统启动的服务的命令也不同 ，像我的虚拟机里只需用 `sudo service cron restart` 即可，若是在根用下直接键入`service cron start`就能启动服务。

 

![Linux定时任务(使用crontab)的实现](https://www.mfisp.com/wp-content/uploads/2021/12/13cb04672b711f0_1_post.png)

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
