快速业务通道

Linux自启动和定时启动程序

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-07-04

  1.开机启动时自动运行程序

  Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程, 启动其它进程.通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使 init自动启动其它程序.例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一 行“xinit”或“startx”,可以在开机启动后直接进入X-Window.

  2.登录时自动运行程序

  用户登录时,bash自动执行系统管理员建立的全局登录script :/ect/profile.然后bash在用户起始 目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、/.profile,但只执行最先找到的 一个.

  因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的 Autoexec.bat).

  3.退出登录时自动运行程序

  退出登录时,bash自动执行个人的退出登录脚本/.bash_logout.例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出登录时自动执行 “tar” 命令备份 *.c 文件.

  4.定期自动运行程序

  Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内 容,并在设定的时间执行这些文件中的命令.用户可以通过crontab 命令来建立、修改、删除这些命令文件.

  例如,建立文件crondFile,内容为“00 9 23 Jan * HappyBirthday”,运行“crontab cronFile”命令 后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“*”表示不管当天是星期几).

  5.定时自动运行程序一次

  定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复.at命令的一 般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令.也可直接从键盘输入命 令:

  $ at 12:00

  at>mailto Roger -s ″Have a lunch″ < plan.txt

  at>Ctr-D

  Job 1 at 2000-11-09 12:00

  2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger.

  定期运行程序或者脚本是管理员要面临一个很普遍的问题,

  一、 使用crond监控程序运行程序

  1. 使用cron来定期执行任务

  使用crond (cron监控程序)来定期运行一些任务,比如备份日志、数据库、把日志发送到自己邮箱等等操作都可以又定期运行程序来完成.

  crond是个脚本,每次Linux启动的时候都自动起到该脚本,该脚本是 /etc/rc.d/init.d 下面的,每次系统启动的时候就自动会启动该目录下

  的脚本.

  cron有两个配置文件,一个/etc/crontab,是一个全局配置文件,一组是crontab命令生成生成的配置文件,是属于用户级的.

  一般对管理员来说,只要使用全局配置的/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

  我们稍微来分析一下这个文件:

  /* 设置基于什么shell来运行,我们这里是基于bash shell */

  SHELL=/bin/bash

  /* 指定目录中有次文件的命令时,不需要完整目录路经 */

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  /* 使用cron实际工作时,见通过邮件来同志root用户 */

  MAILTO=root

  /* 与/etc/crontab配置文件相关的主目录为根目录 */

  HOME=/

 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号