`

(转)Linux——计划任务管理

    博客分类:
  • Work
 
阅读更多


Linux——计划任务管理
2011-05-05 10:25

在Linux操作系统中,除了用户即时执行的命令操作以外,还以为配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如:定期备份、定期采集系统检测数据等。)RHEL5系统中默认安装了at、vixie-cron软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务的设置。

1、at 一次性任务设置:

使用at命令设置的计划任务只在指定的时间点执行一次,有一个前提条件是,对应的系统服务atd必须已经运行。

service atd status

service atd start

chkconfig --level 35 atd on

使用at命令设置计划任务时,在命令中依次指定计划执行任务的时间、日期作为参数(若在指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间),确认后将进入带“at>”提示符的任务编辑界面,每行设置一条命令,可以依次设置多条命令,最后按Ctrl+D提交任务即可。所设置的命令操作将在计划的时间点被依次执行。

需要注意的是,计划执行任务的时间,日期必须确保在当前系统的时刻之后,否则将无法正确设置计划任务。

eg:使用date命令确保当前的系统时间,并设置在2011年5月18日的10:50分自动执行以下任务:统计该时间点系统中由root用户运行的进程的数量,并将该数值保存到“/tmp/ps,root”

eg:在当天11点时自动关闭当前系统

对于已经设置但还尚未执行(未到时间点)的计划任务,可以通过atq命令进行查询,已经执行的at任务将不会再出现在列表中。

查询当前系统中设置的at计划任务列表

删除计划于11:00执行的关机任务。

简单吧,这就是at一次性计划任务啦!!!

2、crontab 周期性任务设置:

使用crontab命令设置的计划任务可以按预设的周期重复执行,可以大大减轻设置重复性系统管理任务的操作(如:定期备份)。启用周期性任务也有一个前提条件,即对应的系统服务crond必须已经运行。

service crond status

chkconfig --level 35 crond on

(1)、crontab的配置文件和目录

crond通过多个目录和文件设置计划任务,不同类型的任务由不同的配置文件进行设置。

1>:/etc/crontab——系统任务配置文件

在"/etc/crontab"文件中设置的是维护Linux系统所需的任务,一般在系统及程序安装时自动设置,不需要认为地修改。

查看“/etc/crontab”系统计划任务配置文件的内容:

根据"/etc/crontab"配置文件中的设定,crond将按照不同的周期重复执行相应目录中的任务脚本文件。

2>:/var/spool/cron/——用户cron任务配置存放目录

由用户自行配置(使用crontab命令)的cron任务将被保存在目录“/var/spool/cron”中,文件名与对应的用户账号同名

crond守护进程每分钟都会检查“/etc/crontab”文件、“/etc/cron.d”目录以及"/var/spool/cron/"目录中的改变,如果发现有配置更改,他们就会被载入内存,所以当某个“crontab”文件改变后并不需要重新启动crond守护进程就可以使配置生效。

(2)、使用crontab命令管理用户的计划任务

设置用户的周期性计划任务列表主要通过crontab命令进行,结合不同的选项可以完成不同的计划任务管理操作,常用的选项如下:

-e:编辑计划任务列表

-u:指定所管理的计划任务属于那个用户,默认时针对当前用户(自己),一般只有root用户有哦权限使用此选项(用于编辑、删除其他用户的计划任务)

-l:列表显示计划任务

-r:删除计划任务列表

1>: 编辑计划任务的书写格式:

01 * * * * root run-parts /etc/cron.hourly   |  格式为  分钟 小时 日期  月份  星期  执行的命令

eg:除了“*”以外,还可以使用减号“-”、逗号“,”、斜杠“/”与数字构成表达式来表示比较负责的时间关系。

>:减号“-”可以表示一个连续的时间范围,如“1-4”表示整数1、2、3、4。

>:逗号“,”可以表示一个间隔的不连续范围,如:“3、4、6、8”。

>:斜杠符号“/”可以用来指定间隔频率,如在日期字段中的“*/3”表示每隔3天。

eg 1 :由root用户设置一份crontab计划任务列表,完成sshd服务:

每天早上7:50自动开启sshd,22点50时关闭sshd服务

crontab -e

50 7 * * * /sbin/service sshd start

50 22 * * * /sbin/service sshd stop

eg 2 :为vliver用户设置计划任务,在每周日晚上的23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为“pwd.txt”文件。

crontab -e -u vliver

55 23 * * 7 /bin/cp /etc/passwd /home/vliver/pwd.txt

因各条计划任务在执行时并不需要用户登录,所以在任务配置记录中的命令建议使用绝对路径,以避免因缺少执行路径而无法执行命令的情况。另外,在设置非每分钟都执行的任务时,“分钟”字段也应该填写一个具体的时间数值,而不要保留为默认的“*”,否则将会每分钟执行一次计划任务。

1>:crontab -l 查看用户的计划任务列表

2>:crontab -l -u vliver 确认vliver用户的计划任务列表的内容

3>:crontab -r 删除任务计划

注:在设置用户的crontab计划任务的过程中,由于每一条记录只能运行一行命令,难以完成更复杂的系统管理任务操作,因此在实际工作中,当需要安装同一周期运行多项任务时,通常会将相关命令操作编写成脚本文件,然后在计划任务中加载该脚本并执行。嘿嘿!!!



分享到:
评论

相关推荐

    Linux+shell编程课程设计——Linux用户管理的shell程序设计

    在本Linux+Shell编程课程设计中,我们将深入探讨如何利用Shell脚本来实现Linux系统的用户管理。Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...

    Linux平台转接——FlashFXP

    - `schedule.dat`: 这是FlashFXP的计划任务数据文件,存储用户的自动任务设置。 - `cert.dat`: 可能包含了用户的SSL证书信息,用于安全的FTP连接。 - `Stats.dat`: 存储了FlashFXP的统计信息,如上传下载速度等。 - ...

    linux实验——基本磁盘管理.doc

    在Linux操作系统中,磁盘管理是一项至关重要的任务,它涉及到数据存储、系统稳定性和性能优化。本实验旨在通过实际操作,使用户掌握Linux下基本磁盘的管理技能,特别是运用`fdisk`、`mkfs`和`fsck`这三个核心命令。 ...

    南大linux课件——Linux内核

    1. **进程管理**:内核负责创建、调度、同步和销毁进程,保证多任务的高效执行。它使用调度算法如轮转法、优先级调度等来决定哪个进程应该获得CPU的使用权。 2. **内存管理**:内核通过分页或分段机制对内存进行...

    深度探索Linux操作系统——系统构建和原理解析

    通过这些内容的学习,读者可以了解到Linux如何高效地运行各种任务并管理硬件资源。 在嵌入式领域,Linux因其开源、可定制和高效性而被广泛应用。本书也会涉及到嵌入式Linux系统构建,包括裁剪内核、构建根文件系统...

    LINUX实验程序——————初学者

    这个名为“LINUX实验程序——初学者”的压缩包显然是一系列针对初学者设计的Linux学习资源,旨在帮助新手掌握Linux的基本概念和系统编程技巧。下面,我们将深入探讨其中可能包含的知识点。 1. **Linux基础**:学习...

    Linux课件——第5章系统管理

    【Linux系统管理】是Linux操作系统中的核心概念,涵盖了对用户、权限、进程等多个方面的管理和配置。下面我们将深入探讨这些知识点。 **5.1 用户管理** 在Linux中,**账户实质**是一个用户在系统上的独特标识,它...

    在Windows上学习Linux——Linux桌面环境定制篇.pdf

    在Windows上学习Linux,尤其是关于Linux桌面环境的定制,是一个非常实用且有趣的话题。Linux操作系统提供了多种桌面环境供用户选择,其中KDE和GNOME是最为流行和广泛使用的两种。KDE项目始于1996年,旨在为X-Window...

    Linux——Crontab使用详解.docx

    Linux Crontab 使用详解 Crontab 是 Linux 系统中一个非常重要的工具,它允许用户在固定时间或固定间隔执行程序。Crontab 命令的基本格式为:...但是,需要注意的是,使用 Crontab 命令需要有相应的权限和权限管理。

    21天学通LINUX C编程

    本书以任务驱动的方式,使用实例引导读者学习Linux平台下的C编程。作者通过21天的学习周期,期望读者能够在短时间内掌握Linux C编程。本书不仅提供文本阅读,还配备了多媒体语音视频教学、电子教案(PPT)以及丰富的...

    linux编程——高级编程方法

    根据给定的文件信息,我们可以梳理出以下关于Linux编程——高级编程方法的知识点: 1. Linux编程的重要性: Linux是一个多用户、多任务的类Unix操作系统,它在服务器、桌面和嵌入式系统等领域得到了广泛的应用。...

    Linux安全操作系统构建方法与技术(第四讲)——最小特权管理.pdf

    在构建Linux安全操作系统的过程中,最小特权管理是一个至关重要的概念和技术。这一理念旨在确保每个用户或进程只有执行其基本功能所需的最小权限,从而降低因滥用权限或权限账户被盗用导致的安全风险。在第四讲中,...

    Linux学习笔记——入门资料

    Linux学习笔记——入门资料 Linux,作为一款开源、免费的操作系统,因其稳定性和安全性而备受开发者和系统管理员的青睐。这份“Linux学习笔记”旨在帮助初学者快速掌握Linux的基础知识和操作技能,从而轻松入门。 ...

    linux实验——管理与维护邮件服务器.doc

    在Linux环境中,管理和维护邮件服务器是一项关键的任务,尤其对于企业来说,这关乎到日常通信的顺畅和效率。本文主要探讨如何在Linux系统中配置和管理POP3和Sendmail邮件服务器,满足企业的需求。 首先,POP3(Post...

    兰进Linux世界(第六讲)——Linux进程管理和文本编辑.pdf

    在Linux操作系统中,进程管理是核心功能之一,因为它负责协调多任务环境下的资源分配和调度。本讲主要讲解了Linux中的进程和线程概念,进程的状态,信号机制,以及与进程相关的命令,同时也涵盖了文本编辑器的使用...

    实验报告五-计划任务管理

    实验报告五——计划任务管理是针对CentOS 7操作系统的学习实践,主要涵盖了操作系统管理的核心技能,包括计划任务的设定、管理以及系统安全的基础知识。实验旨在帮助初学者理解和掌握Linux系统的定时任务工具crontab...

    linux内核笔记——进程管理_80386基础

    ### Linux内核笔记——进程管理_80386基础 #### 1. 80386保护模式下的进程管理基础知识 对于初学者来说,Linux内核的学习之路充满了挑战,尤其是在面对内核启动代码时,复杂的AT&T汇编语法与保护模式下的概念常常...

    使用Putty管理Linux系统——无密码登录.pdf

    在IT运维工作中,远程管理Linux系统是一项基本任务,而Putty作为一款流行的SSH客户端工具,被广泛用于Windows环境下与Linux服务器的交互。然而,Putty默认不支持图形界面显示,这对于需要图形化操作的场景,如安装...

    Linux下的硬件驱动——USB设备(下)

    在Linux操作系统中,硬件驱动程序是操作系统与硬件设备之间的桥梁,负责管理和控制硬件设备。对于USB设备,Linux内核提供了一套完整的USB子系统,使得开发者能够编写驱动程序来支持各种USB设备。本文将重点讨论USB...

    通往Linux之路(二)——一个Linux系统管理员成长笔记.pdf

    在“通往Linux之路(二)——一个Linux系统管理员成长笔记”中,我们继续探讨学习Linux操作系统的过程,特别是针对Linux桌面环境的使用。Linux操作系统作为开源软件的重要代表,其多样性与灵活性吸引了众多用户,...

Global site tag (gtag.js) - Google Analytics