crontab使用和格式

CRON Tab简介

Cron是一个定时任务管理器。它可以在特定的时间执行命令或脚本,例如每天,每小时,每分钟或某个特定时间内。通过使用cronjob可以定期备份数据库,清理日志文件,发送定期通知等。Cronjob的特点是它可以在后台运行,并按照您的设置自动运行。

CRON Tab格式

请按照以下格式输入cron表的内容:

```

* * * * * command to be executed

- - - - -

| | | | |

| | | | +----- day of the week (0 - 6) (Sunday is both 0 and 7)

| | | +---------- month (1 - 12)

| | +--------------- day of the month (1 - 31)

| +-------------------- hour (0 - 23)

+------------------------- minute (0 - 59)

```

上面的格式是Cronjob的基本格式。三个重要的基本要素:时间、日期和命令。

一个CRON Tab及其具体描述如下:

```

* * * * * /path/to/command arg1 arg2

- - - - -

| | | | |

| | | | +----- day of the week (0 - 6) (Sunday is both 0 and 7)

| | | +---------- month (1 - 12)

| | +--------------- day of the month (1 - 31)

| +-------------------- hour (0 - 23)

+------------------------- minute (0 - 59)

```

字段描述

Cronfile 由五个字段组成,可以使用星号(*)来表示一个范围。例如,如果用星号(*)代替小时,则表示每小时都会执行命令。

1.分钟

分钟的范围是0到59。

2.小时

小时的范围是0到23。

3.天

天的范围是1到31。

4.月

月份的范围是1到12。

5.星期

星期天的范围是0到7。0和7表示星期天。注意,1表示星期一,而不是星期日。

命令

命令是在cron计划中要执行的命令。当cron计划到达特定的时间和日期时,该命令将开始运行。

示例

每分钟运行一次:

```

* * * * * command

```

每个星期日拍照:

```

0 0 * * 0 /usr/bin/photobooth.sh

```

每月的第一天备份数据库:

```

0 3 1 * * /usr/bin/db-backup.sh

```

每小时搜索日志文件:

```

0 * * * * /usr/bin/search-log.sh

```

每天早上六点邮件通知:

```

0 6 * * * /usr/bin/email-notifier.sh

```

CRON Tab的使用方法

1. 打开cron文件

您可以通过终端(命令行)打开CRON文件。

```

crontab -e

```

2. 新建或编辑crontab

编辑器会在终端上打开,以输入要运行的任务指令。这个文件包含了已经计划的任务的列表,你可以根据需要添加、编辑或删除任务。

例如,假设您要每天下午4点01分的时候向一位用户发送一封邮件:

```

1 16 * * * /usr/bin/script.sh

```

其他常用的CRON Tab命令:

- 列出当前用户的CRON Tab列表:

```

crontab -l

```

- 删除当前用户的CRON Tab列表:

```

crontab -r

```

- 列出所有用户的CRON Tab列表:

```

cat /etc/crontab

```

- 检查您的CRON Tab是否在运行:

您可以输入以下命令来查看正在运行的任务列表:

```

ps -ef | grep cron

```

CRON Tab案例

实例1:每天定时备份自数据库

以下命令将设置将通过每天定时备份数据库的方式将其从一个文件中备份到另一个文件中。

假设您希望在每个工作日早上6:00备份您的数据库。在结束之前,首先切换到root用户:

```

$ sudo su

```

然后使用以下命令打开cron文件进行编辑:

```

$ crontab -e

```

添加以下行:

```

0 6 * * 1-5 /usr/bin/db-backup.sh

```

按CTRL + X关闭编辑器并保存文件。完成任务后验证cronjob是否正在继续执行备份:

```

$ ps aux | grep backup.sh

```

实例2:每月第一天定时执行任务

如果您希望在每个月的第一天(当月份变为1)的时候,自动执行一个特定的任务。例如,您可能希望在新一年的第一天,将某个页面归档到其他地方。

请按以下步骤设置cronjob:

使用以下命令打开cron文件:

```

$ crontab -e

```

将以下行添加到该文件中:

```

0 0 1 * * touch /tmp/.archive

```

按CTRL + X关闭编辑器并保存文件。完成任务后,验证cronjob是否在正确时间执行:

```

$ cat /tmp/.archive

```

上述命令将输出以下内容:

```

content

```

结论

CRON Tab是一项强大的工具,可以定期或按计划执行重复任务。当在脚本的背景下自动执行特定的任务时,它非常有用。Linux操作系统的Cronjob组件允许您按照需要安排计划任务,这非常方便。谨记合理规划Cronjob任务,不影响系统性能。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(99) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部