Linux下定时执行脚本

合集下载

Linux系统定时任务管理脚本(Python版)

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定时执行任务

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命令是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 案例

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系统中使用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命令设置定时任务在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操作系统中,定时任务和计划是系统管理和自动化的重要

工具。通过使用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系统中定时任务脚本的使用方法和注意事项。

一、什么是定时任务脚本

定时任务脚本是一种自动执行的脚本,可以在预定的时间点或时间

间隔内自动运行。在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定时任务脚本在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系统中,我们经常需要定时执行一些任务,比如备份数据、清理日志、更新软件等等。为了方便管理和自动化执行这些任务,我

们可以使用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系统中,定时任务是一种非常实用的功能,它允许用户在指定的时间执行特定的任务。通过定时任务,用户可以自动化地执行重复的或定期的操作,从而提高工作效率。下面是关于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终端中计划任务和定时执行命令的使用方法和常见示例。

一、计划任务的概念和使用

计划任务是指预先设定好的某项任务,在指定的时间间隔内自动执行。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系统定时任务脚本使用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下:定时任务——执⾏脚本

⼀、简单介绍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编写的用于执行定时任务的工具

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系统的定时任务管理机制。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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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表示这四个指定整数。

符号“/”指定步进设置。“/”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。

以“#”开头的为注释行,不会被执行。

如果一个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 //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:

相关文档
最新文档