Linux下定时执行脚本
Linux系统定时任务管理脚本(Python版)
Linux系统定时任务管理脚本(Python版)
一、引言
在Linux系统中,定时任务是一种非常重要的功能。它可以让我们在指定的时间自动执行特定的脚本或命令,从而提高工作效率和减少人工操作。本文将介绍如何使用Python编写定时任务管理脚本。
二、实现思路
为了实现定时任务管理,我们将使用Python的crontab模块。该模块允许我们通过Python代码创建、修改和删除定时任务。
三、安装crontab模块
在使用之前,我们需要先安装crontab模块。可以通过以下命令来安装:
```shell
pip install python-crontab
```
四、导入必要的模块
在编写脚本之前,我们需要导入crontab模块和其他必要的模块。具体代码如下:
```python
from crontab import CronTab
```
五、创建定时任务
接下来,我们可以使用以下代码创建一个定时任务:
```python
# 创建CronTab对象
cron = CronTab(user='username')
# 新建一个命令
job = cron.new(command='python /path/to/script.py')
# 设置定时任务执行时间
job.setall('0 0 * * *')
# 将任务添加到CronTab中
cron.write()
```
在代码中,我们首先创建了一个CronTab对象,并指定了用户(可选)。然后,我们创建了一个新的命令并指定要执行的脚本或命令。接下来,我们使用setall方法设置任务的执行时间。在这个例子中,我们将任务设置为每天的凌晨执行。最后,我们将任务添加到CronTab 对象中,并使用write方法将更改保存到系统配置文件中。
在Linux终端中使用cron定时执行任务
在Linux终端中使用cron定时执行任务
Linux操作系统提供了一种强大的工具,即cron,它允许用户在指定的时间间隔内自动执行任务。使用cron,可以轻松地实现定时备份文件、更新系统、执行脚本等操作。
一、了解cron
Cron是一种用于定时运行命令或脚本的工具,它在后台运行,并根据预先设置的时间表执行任务。在Linux终端中,可以通过编辑crontab文件来管理cron的任务列表。
二、编辑crontab文件
要编辑crontab文件,可以使用以下命令:
```
crontab -e
```
这将打开一个文本编辑器,显示当前用户的cron表。每一行代表一个计划任务,由时间表达式和要执行的命令组成。
三、时间表达式
cron使用时间表达式来定义任务的执行时间。时间表达式由五个不同的字段组成,分别表示分钟、小时、日期、月份和星期。这些字段使用空格或者通配符来表示。
- 星号(*)表示所有可能的值,例如在分钟字段中,*表示每分钟都执行。在其他字段中,*表示所有可能的值。
- 逗号(,)用于分隔枚举值,例如"1,3,5"表示1、3和5。
- 减号(-)用于指定一个范围,例如"1-5"表示1到5。
- 正斜杠(/)用于指定间隔,例如"*/10"表示每10分钟。
- 除号(/)用于指定除法,例如"5/15"表示从第5分钟开始,每隔15分钟执行一次。
四、实例
以下是一个示例crontab文件,展示了如何使用cron来定时执行任务:
```
# 每天凌晨3点备份文件
0 3 * * * /usr/bin/backup.sh
# 每小时更新系统
Linux终端命令实例教程使用cron命令定时执行任务
Linux终端命令实例教程使用cron命令定时
执行任务
Linux终端命令实例教程:使用cron命令定时执行任务
Linux终端是系统管理员和开发人员常用的工具之一,通过终端可以直接与操作系统进行交互,执行各种任务。其中,cron命令是Linux 系统中用于定时执行任务的命令。本文将为您详细介绍及实例演示如何使用cron命令来定时执行任务。
1. 什么是cron命令?
cron命令是一种在Linux系统中用于定时执行任务的工具,它可以根据用户预先设定的时间规则,在后台自动运行指定的命令或脚本。cron命令通常被用来执行系统维护任务、定期备份文件、更新数据库等自动化操作。
2. cron命令的语法和选项
在使用cron命令之前,先来了解一下其基本的语法和常用选项:```
crontab [选项] [文件]
```
常用选项:
- -e:编辑当前用户的定时任务计划;
- -l:显示当前用户的定时任务计划;
- -r:删除当前用户的定时任务计划。
3. 编写cron任务计划
要在Linux系统中使用cron命令,首先需要编辑用户的定时任务计划。可以通过以下命令编辑当前用户的定时任务计划文件:```
crontab -e
```
执行以上命令后,会打开一个文本编辑器,在其中输入任务计划。每行一个任务计划,任务计划的格式如下:
```
分钟小时日月周命令
```
其中,每个字段的含义如下:
- 分钟(0-59):表示每小时的第几分钟执行任务;
- 小时(0-23):表示每天的第几个小时执行任务;
- 日(1-31):表示每月的第几天执行任务;
linux crontab 案例
linux crontab 案例
Crontab是一个在Linux系统上用于定时执行任务的工具。它可以让用户在预定的时间自动运行命令或脚本,无需手动操作。下面我们
将介绍一些常见的Crontab案例。
1.每分钟执行一次脚本
要每分钟执行一个脚本,可以使用以下命令将任务添加到Crontab:```
* * * * * /path/to/script.sh
```
这将会在每个小时内的每一分钟执行脚本。
2.每小时执行一次脚本
要每小时执行一个脚本,可以使用以下命令将任务添加到Crontab:```
0 * * * * /path/to/script.sh
```
这将会在每个小时的第0分执行脚本。
3.每天执行一次脚本
要每天执行一个脚本,可以使用以下命令将任务添加到Crontab:```
0 0 * * * /path/to/script.sh
```
这将会在每天的0点0分执行脚本。
4.每周执行一次脚本
要每周执行一个脚本,可以使用以下命令将任务添加到Crontab:```
0 0 * * 0 /path/to/script.sh
```
这将会在每周日的0点0分执行脚本。
5.每月执行一次脚本
要每月执行一个脚本,可以使用以下命令将任务添加到Crontab:```
0 0 1 * * /path/to/script.sh
```
这将会在每个月的第一天的0点0分执行脚本。
6.每年执行一次脚本
要每年执行一个脚本,可以使用以下命令将任务添加到Crontab:```
0 0 1 1 * /path/to/script.sh
```
这将会在每年的1月1日的0点0分执行脚本。
在Linux系统中使用Python编写定时任务脚本
在Linux系统中使用Python编写定时任务脚
本
在Linux系统上,我们可以使用Python编写定时任务脚本来自动执行特定的操作。定时任务可以用于定期备份数据、清理系统垃圾、发送邮件等各种常见的任务。本文将介绍如何在Linux系统中使用Python编写和管理定时任务脚本。
一、理解定时任务的概念
定时任务是指在特定的时间点或时间间隔内自动执行的任务。在Linux系统中,我们通过cron服务来实现定时任务的调度和执行。cron 服务可以让我们按照预定的时间规则执行特定的任务。
二、编写Python脚本
首先,我们需要编写一个Python脚本,用于执行我们想要自动化的任务。例如,我们要编写一个脚本用于备份指定目录下的文件。下面是一个简单的备份脚本示例:
```python
#!/usr/bin/env python
import os
import shutil
from datetime import datetime
# 备份目录
backup_dir = '/path/to/backup'
# 要备份的目录
source_dir = '/path/to/source'
# 备份文件名
backup_file = 'backup_' +
datetime.now().strftime('%Y%m%d%H%M%S') + '.tar.gz'
# 创建备份目录
os.makedirs(backup_dir, exist_ok=True)
# 执行备份
shutil.make_archive(os.path.join(backup_dir, backup_file), 'gztar', source_dir)
在Linux中使用crontab命令设置定时任务
在Linux中使用crontab命令设置定时任务在Linux操作系统中,我们可以使用crontab命令来设置定时任务。Crontab是Linux下的一个定时执行工具,能够在指定的时间自动执行
特定的任务,非常方便实用。本文将介绍如何在Linux中使用crontab
命令来设置定时任务。
1. 查看已有的定时任务
在开始设置定时任务之前,我们可以先查看系统中已有的定时任务,以便了解当前的任务状态。可以通过运行以下命令来查看:```
crontab -l
```
该命令将列出当前用户的所有定时任务。如果当前用户没有设置任
何定时任务,则不会有任何输出。
2. 编辑定时任务
要编辑已有的定时任务或新增一个定时任务,可以使用以下命令:```
crontab -e
```
该命令将会打开一个文本编辑器,其中已经包含了当前用户的所有
定时任务。每一行对应一个定时任务,通过编辑、新增和删除这些任
务来实现定时任务的管理。
3. 设置定时任务的格式
每个定时任务都有一个固定的格式,该格式由五个字段组成,分别
表示分钟、小时、日期、月份和星期几。这些字段以空格或制表符分隔,如下所示:
```
* * * * * command
```
- 第一个字段表示分钟,取值范围为0-59,可以使用通配符“*”表示
每分钟执行。
- 第二个字段表示小时,取值范围为0-23,使用通配符“*”表示每小
时执行。
- 第三个字段表示日期,取值范围为1-31,使用通配符“*”表示每天
执行。
- 第四个字段表示月份,取值范围为1-12,使用通配符“*”表示每月
执行。
- 第五个字段表示星期几,取值范围为0-7(0和7都表示星期日),使用通配符“*”表示每周执行。
Linux命令高级技巧之定时任务与计划
Linux命令高级技巧之定时任务与计划
在Linux操作系统中,定时任务和计划是系统管理和自动化的重要
工具。通过使用Linux命令的定时任务和计划功能,我们可以自动执行各种任务,如备份文件、定期清理系统日志、运行脚本等。
一、cron定时任务
cron是一个在Linux和类UNIX操作系统中常用的定时任务工具。
它基于时间的规则,可以在指定的时间间隔内运行特定的命令或脚本。
1. 创建定时任务
要创建一个定时任务,我们可以使用cron的配置文件。在大部分Linux发行版中,这个文件通常是/etc/crontab。我们可以使用编辑器打
开这个文件,并按照指定的格式添加定时任务。
例如,我们希望每天凌晨2点执行一个脚本,我们可以在crontab
文件中添加以下行:
```
0 2 * * * root /path/to/script.sh
```
这个规则的含义是:“每天的第0小时(即凌晨2点)执行脚本
/script.sh,以root用户身份运行”。
2. 定时任务格式
定时任务的格式可以大致分为以下几个部分:
- 分钟(0-59)
- 小时(0-23)
- 日期(1-31)
- 月份(1-12)
- 星期(0-7,其中0和7都表示周日)
我们可以根据需要对这些部分进行设置。例如,如果我们想要每周
二的上午10点运行一个任务,我们可以设置以下定时任务:```
0 10 * * 2 command
```
这个规则的含义是:“每周的第0分钟、第10小时(即上午10点),星期二(即2号)执行命令command”。
3. 修改和删除定时任务
如果需要修改或删除已有的定时任务,可以编辑crontab文件并进
Linux系统定时任务脚本
Linux系统定时任务脚本
Linux系统是一种开源的操作系统,具有高度的灵活性和可定制性。通过定时任务脚本,用户可以自动执行一系列任务,如备份数据、定
期清理文件等。本文将介绍Linux系统中定时任务脚本的使用方法和注意事项。
一、什么是定时任务脚本
定时任务脚本是一种自动执行的脚本,可以在预定的时间点或时间
间隔内自动运行。在Linux系统中,常用的定时任务工具是cron。cron
使得用户能够按照指定的时间执行命令或脚本,无需手动操作。
二、定时任务脚本的语法
在Linux系统中,定时任务脚本的语法如下所示:
```
* * * * * command
```
其中,五个星号分别代表分钟、小时、每月第几天、月份和星期几。使用这些通配符,可以定制每个字段所允许的取值范围。
以下是一些示例:
- `0 1 * * * /usr/bin/backup.sh` 表示在每天凌晨1点执行`backup.sh`脚本。
- `30 2 * * 1-5 /usr/bin/cleanup.sh` 表示在每周一至周五凌晨2点30分执行`cleanup.sh`脚本。
三、创建定时任务脚本
要创建一个定时任务脚本,可以按照以下步骤进行操作:
1. 打开终端或远程登录到Linux系统。
2. 使用命令`crontab -e`编辑用户的定时任务列表。
3. 在文本编辑器中,按照前面提到的语法编写定时任务脚本。注意要使用绝对路径来指定脚本的位置,以免发生路径错误的问题。
4. 保存并退出文本编辑器。
四、常见问题和注意事项
在编写定时任务脚本时,需要注意以下几点:
Linux系统下的Python定时任务脚本
Linux系统下的Python定时任务脚本在Linux系统中,Python是一种常用的编程语言,而定时任务脚本则是一种可以在指定的时间自动执行的程序。结合二者,我们可以编写Python定时任务脚本来实现各种自动化操作,提高工作效率。本文将介绍如何在Linux系统下编写和运行Python定时任务脚本。
一、选择合适的Python编译器
在Linux系统中,有多种Python编译器可供选择,如CPython、IPython等。我们可以根据自己的需求选择合适的Python编译器。在本文中,我们将以CPython为例进行讲解。
二、编写Python定时任务脚本
下面是一个简单的Python定时任务脚本示例:
```python
import time
def task():
print("定时任务执行中...")
# 设置定时任务的时间间隔(单位:秒)
interval = 10
while True:
task()
time.sleep(interval)
```
以上示例中,我们定义了一个名为`task`的函数,用于执行定时任务中的操作。`time.sleep(interval)`函数用于设定定时任务的时间间隔,这里我们设置为10秒。当程序执行到`time.sleep(interval)`时,会暂停指定时间后再继续执行后续代码,从而实现定时任务的效果。
三、设置定时任务
为了使Python定时任务脚本能够在指定时间自动执行,我们需要使用Linux系统提供的`crontab`命令进行设置。
1. 打开终端,并输入以下命令进入`crontab`编辑模式:
linux中每天定时执行的写法
linux中每天定时执行的写法
在Linux系统中,我们经常需要定时执行一些任务,比如备份数据、清理日志、更新软件等等。为了方便管理和自动化执行这些任务,我
们可以使用Linux系统自带的定时任务工具——crontab。
Crontab是一个用于设置定时任务的命令,它可以让我们在指定的
时间点或时间间隔内自动执行某个命令或脚本。下面我们来介绍一下
在Linux中每天定时执行的写法。
首先,我们需要打开终端,并以root用户身份登录。然后输入以下
命令来编辑crontab文件:
```
crontab -e
```
这个命令会打开一个文本编辑器,里面已经包含了一些注释和示例。我们需要在文件的最后添加我们自己的定时任务。
假设我们要每天凌晨3点执行一个脚本文件,我们可以在crontab
文件中添加以下内容:
```
0 3 * * * /path/to/script.sh
```
其中,0表示分钟,3表示小时,星号表示任意的日期和月份。这样,脚本文件script.sh就会在每天凌晨3点执行。
如果我们希望任务执行的结果保存到一个日志文件中,可以使用重定向符号">",将输出重定向到指定的文件。例如:
```
0 3 * * * /path/to/script.sh > /path/to/logfile.log
```
这样,脚本执行的输出就会保存到logfile.log文件中。
另外,如果我们希望任务执行的结果通过邮件发送给指定的邮箱,可以使用mail命令。例如:
```
0 3 * * * /path/to/script.sh | mail -s "任务执行结果"****************
linux 定时任务规则
linux 定时任务规则
Linux定时任务规则
在Linux系统中,定时任务是一种非常实用的功能,它允许用户在指定的时间执行特定的任务。通过定时任务,用户可以自动化地执行重复的或定期的操作,从而提高工作效率。下面是关于Linux定时任务的一些规则和使用方法。
1. cron命令
Linux中最常用的定时任务工具是cron。cron是一个定时调度程序,它允许用户根据时间的间隔来执行命令或脚本。通过cron,用户可以进行一次性的、每分钟、每小时、每天、每周甚至每月等各种不同时间周期的任务调度。
2. cron表达式
要使用cron,需要了解cron表达式的语法。cron表达式由五个或六个字段组成,分别表示分、时、日、月、周几和要执行的命令。例如,`* * * * * command`表示每分钟执行一次命令。
3. 编辑定时任务
要编辑定时任务,可以使用`crontab`命令。`crontab -e`可以编辑当前用户的定时任务列表,`crontab -l`可以列出当前用户的定时任务。
4. 示例
以下是一些常见的定时任务示例:
- `30 8 * * 1-5 /home/user/script.sh`:每周一至周五的早上8点30分执行
`/home/user/script.sh`脚本。
- `0 0 1,15 * * /home/user/backup.sh`:每月的1号和15号的午夜零点执行
`/home/user/backup.sh`脚本。
- `*/10 * * * * /home/user/check_status.sh`:每10分钟执行一次
Linux终端中的计划任务和定时执行命令
Linux终端中的计划任务和定时执行命令在Linux中,终端是一种强大的工具,可以执行各种任务和命令。其中,计划任务和定时执行命令是终端中非常重要的功能之一。本文将介绍Linux终端中计划任务和定时执行命令的使用方法和常见示例。
一、计划任务的概念和使用
计划任务是指预先设定好的某项任务,在指定的时间间隔内自动执行。Linux中常用的计划任务工具是crontab。下面是crontab的使用方法:
1. 打开终端,并输入以下命令以编辑当前用户的crontab文件:
```
crontab -e
```
2. 如果是第一次使用crontab,会要求选择编辑器。可以选择喜欢的编辑器,比如vim或nano,然后按照提示进行操作。
3. 在打开的文件中,可以按照以下格式添加计划任务:
```
* * * * * command
```
其中,五个星号表示时间间隔,分别对应分钟、小时、日期、月份、星期。可以使用通配符(*)表示任意值,也可以指定具体的数值。command是要执行的命令或脚本。
下面是一些示例:
- 每天凌晨3点执行备份脚本:
```
0 3 * * * /path/to/backup.sh
```
- 每周一的12点30分执行重启服务命令:
```
30 12 * * 1 /path/to/restart.sh
```
- 每个月的1号和15号的18点执行清理日志命令:
```
0 18 1,15 * * /path/to/clean_logs.sh
```
- 每隔10分钟执行一次检查服务器状态的命令:
```
*/10 * * * * /path/to/check_server.sh
Linux系统定时任务脚本使用Shell脚本实现对Linux系统的定时任务调度和执行
Linux系统定时任务脚本使用Shell脚本实现对Linux系统的定时任务调度和执行
在Linux系统中,我们经常需要执行定时任务来完成一些自动化的工作,例如定期备份数据、定时清理临时文件等。而在Linux系统中,我们可以使用Shell脚本来实现对定时任务的灵活控制和调度。本文将介绍如何使用Shell脚本在Linux系统中实现定时任务的调度和执行。
一、Shell脚本基础
在开始介绍定时任务的使用之前,我们首先需要了解一些Shell脚本的基础知识。Shell脚本是一种以Shell(命令行解释器)为解释器的脚本语言,用于批处理任务和自动化操作。在Linux系统中,我们可以使用各种Shell脚本编写工具,例如Bash、Sh、Csh等。
Shell脚本主要由命令、变量、条件判断、循环等组成。我们可以使用Shell脚本来执行各种操作,例如创建文件、修改文件权限、运行程序等。而对于定时任务,我们可以使用Shell脚本来编写一段特定的代码,然后在指定的时间点进行执行。
二、定时任务的调度
在Linux系统中,我们可以通过使用crontab命令来实现定时任务的调度。crontab是一个用于设置定时任务的命令,它可以让我们方便地进行任务的调度和执行。
1. 编写定时任务脚本
首先,我们需要编写一个定时任务脚本。这个脚本可以包含我们想要执行的一系列任务,例如备份数据、清理临时文件等。
下面是一个简单的定时任务脚本示例:
```shell
#!/bin/bash
# 备份数据
cp /data/*.txt /backup
# 清理临时文件
Linux下:定时任务——执行脚本
Linux下:定时任务——执⾏脚本
⼀、简单介绍LInux下的定时任务服务:crond服务
crond是Linux系统⽤来定期执⾏命令或指定程序的服务的⼀种服务或软件。
⼀般情况下安装完成Linux操作系统之后,默认便会启动Crond任务调⽤服务。
Crond服务会定期(默认⼀分钟检查⼀次)检查系统中是否有要执⾏的任务⼯作。如果有,便根据其预先设定的定时任务规则⾃动执⾏该定时任务⼯作。
⼆、设置定时任务,两种⽅法
1、crontab命令
crontab -e 进⼊当前⽤户的定时任务vim编辑模式
crontab -l 查看当前⽤户的定时任务配置
crontab -u ⽤户名 -l 查看指定⽤户的定时任务设置
注:crontab { -l | -e } 实际上就是在操作/var/spool/cron/当前⽤户这样的⽂件,root⽤户就是/var/spool/cron/root
2、直接编辑/etc/crontab ⽂件,即vi /etc/crontab,添加相应的定时任务
注:crontab -e配置是针对当前⽤户的定时任务,⽽编辑/etc/crontab是针对系统的定时任务
三、定时任务编写规则说明
# 直接编辑/etc/crontab ⽂件
minute - 从0到59的整数
hour - 从0到23的整数
day - 从1到31的整数 (必须是指定⽉份的有效⽇期)
month - 从1到12的整数 (或如Jan或Feb简写的⽉份)
dayofweek - 从0到7的整数,0或7⽤来描述周⽇ (或⽤Sun或Mon简写来表⽰)
Linux系统定时任务脚本使用Python编写的用于执行定时任务的工具
Linux系统定时任务脚本使用Python编写的用于执行定时任务的工具
Linux系统作为一种高度可定制和灵活的操作系统,为用户提供了多种方式来管理和执行定时任务。其中,使用Python编写脚本是一种常见且简便的方法。本文将介绍如何使用Python编写Linux系统的定时任务脚本,并展示其在执行定时任务方面的应用。
1. 准备工作
在开始编写定时任务脚本之前,我们需要确保系统已经安装了Python解释器。可以通过在终端中输入以下命令来检查Python版本:```
python --version
```
如果没有安装Python,可以使用以下命令来安装Python 3:
```
sudo apt-get install python3
```
同时,我们还需要安装相关的Python库来支持定时任务的执行。常用的库包括`schedule`和`time`等,你可以通过以下命令来安装它们:```
pip install schedule
```
2. 编写定时任务脚本
在本例中,我们将编写一个Python脚本来实现每天定时备份指定目录的功能。我们首先创建一个名为`backup.py`的文件,并使用以下代码编写定时任务脚本:
```python
import schedule
import time
def backup():
# 备份指定目录的逻辑代码
...
# 定义每天执行备份任务的时间
schedule.every().day.at("00:00").do(backup)
# 循环执行任务
while True:
schedule.run_pending()
Linux系统定时任务管理脚本编写
Linux系统定时任务管理脚本编写Linux系统的定时任务管理是一项非常重要的任务,它可以帮助我
们自动化各种重复性的工作。在本文中,我将介绍如何编写Linux系统的定时任务管理脚本,帮助您更好地管理和优化系统。
一、了解Linux系统的定时任务管理
在开始编写Linux系统的定时任务管理脚本之前,我们首先需要了
解Linux系统的定时任务管理机制。Linux系统中使用cron服务来执行
定时任务,我们可以通过编辑cron表来添加、修改和删除定时任务。
二、编写定时任务管理脚本的基本原则
1. 规划定时任务:在编写定时任务管理脚本之前,我们需要明确我
们想要执行的任务,并规划好执行的时间和频率。这样可以确保我们
的定时任务管理脚本能够准确地执行我们预期的任务。
2. 编写脚本文件:我们可以使用Shell脚本语言来编写定时任务管
理脚本,通过Shell脚本,我们可以调用各种系统命令、执行各种操作。脚本文件一般以.sh为后缀命名,并且需要添加可执行权限。
3. 添加任务到cron表:一旦我们编写好了定时任务管理脚本,我们需要将任务添加到cron表中。我们可以使用crontab命令来编辑cron
表,添加我们的定时任务。
三、编写定时任务管理脚本的示例
下面是一个示例的定时任务管理脚本,它能够每天自动备份指定目
录下的文件。
```shell
#!/bin/bash
# 定义备份的目录
backup_dir="/home/user/backup"
# 定义备份文件的名称
backup_file="backup_$(date +%Y%m%d).tar.gz"
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux下定时执行脚本
今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法:
首先查看一下/etc/crontab文件:
$ cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
前四行是有关设置cron任务运行的环境变量。SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),PATH变量定义了执行命令的路径。Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。如果MAILTO变量定义为空字符串(MAILTO=""),电子邮件不会被发送。执行命令或脚本时HOME变量可用来设置基目录。
文件/etc/crontab中每行任务的描述格式如下:
minute hour day month dayofweek command
minute - 从0到59的整数
hour - 从0到23的整数
day - 从1到31的整数 (必须是指定月份的有效日期)
month - 从1到12的整数 (或如Jan或Feb简写的月份)
dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示) command - 需要执行的命令(可用as ls /proc >> /tmp/proc或执行自定义脚本的命令)
root表示以root用户身份来运行
run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本
对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。
整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4
指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。
符号“/”指定步进设置。“/
以“#”开头的为注释行,不会被执行。
如果一个cron任务需要定期而不是按小时,天,周,月来执行,则需要添加/etc/cron.d 目录。这个目录下的所有文件和文件/etc/crontab语法相同,查看样例:
# record the memory usage of the system every monday
# at 3:30AM in the file /tmp/meminfo
30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
# run custom scrīpt the first day of every month at 4:10AM
10 4 1 * * /root/scrīpts/backup.sh
除了root用户之外的用户可以执行crontab配置计划任务。所有用户定义的crontab 存储在目录/var/spool/cron下,任务会以创建者的身份被执行。要以特定用户创建一个crontab,先以该用户登录,执行命令crontab -e,系统会启动在VISUAL或者EDITOR中指定的的编辑软件编辑crontab。文件内容与/etc/crontab格式相同。示例如下:
0 3 * * * /home/dbbackup/db1backup.sh backup
0 4 * * * /home/dbbackup/db2backup.sh backup
表示每天3点执行/home/dbbackup/db1backup.sh backup,4点执行
/home/dbbackup/db2backup.sh backup,如果是每五分钟执行一次可改为:
*/5 * * * * /home/dbbackup/db2backup.sh backup
当更改的crontab需要保存时,文件会保存在成如下文件
/var/spool/cron/username。文件名会根据用户名而不同。
cron服务会每分钟检查一次/etc/crontab、/etc/cron.d/、/var/spool/cron文件下的变更。如果发现变化,就会下载到存储器中。因此,即使crontab文件改变了,程序也不需要重新启动。推荐自定义的任务使用crontab -e命令添加,退出后用
/etc/init.d/crond restart命令重启crond进程,官方文件说不用重启进程,但我遇到不重启无法运行任务的情况。开始不知道/etc/crontab文件中的run-parts是什么意思,直接把命令按照/etc/crontab的格式加上总是无法运行,后来才知道run-parts是指后面跟着的是文件夹。
下面再附一篇介绍:
********************************************************************* ***************
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
你也可以将这个服务在系统启动的时候自动启动: