LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1050|回复: 1

RH AS3 上计划任务随意实现

[复制链接]
发表于 2004-8-10 09:17:43 | 显示全部楼层 |阅读模式

  1.     应该说,所有的操作系统都提供了计划任务功能,用来实现定时执行某个操作或定期执行重复的操作,例如定时提醒,定期备份等。
  2.     如上所述,计划任务一般分两种,指定时间执行一次的任务和定期重复执行的任务(呵呵,我的分类,不一定准确),Windows系统下的设置更为灵活,有位朋友说Windows下无法实现每个5分钟执行任务,我专门看了,可以的。
  3.     说明一下,指定时间执行一次的任务只执行一次,定期重复执行的任务每个一定时间自动重复执行。各种杀毒软件都具有这个功能。
  4.    
  5.    <一>Linux下的计划任务实现.
  6.      
  7.    1. 指定时间执行一次的任务实现,使用at命令(各用户独自设置)
  8.         1)#at 时间设置
  9.           >输入命令
  10.           >ctrl+D结束输入,产生任务
  11.     时间说明:时间分为绝对时间和相对时间。绝对时间:直接设置某个固定的时间;相对时间:从某个时间起经过一段时间后的时间
  12.     绝对时间:[月/日/年] hh:mm   //[]为可选,无表示当天或最近一天   
  13.     相对时间: 绝对时间+时间段  //时间段为:数字hours(或minutes,days,weeks)
  14.     举例:
  15.       a)明天上午8点给root发一份邮件,告诉他系统正常
  16.         #at 8 tomorrow
  17.         >echo "System is OK!" |mail -s "mess" [email]root@syd168.com[/email]
  18.         >CTRL+D
  19.       b)2008年8月1日上午8点30告诉root,建军节到了
  20.         #at  8/1/2008 8:30
  21.         >echo "Today is army day!" |mail -s "hi" root
  22.         >CTL+D
  23.       c)5天后的下午3:45告诉user1,Tom结婚,别忘记!
  24.        #at  15:45+5days  
  25.        >echo  "Tom will marry to tom1"|mail -s "from root" user1
  26.        >CTRL+D
  27.      
  28.      2)显示所有的定期计划任务
  29.        #atq   //显示中最左侧列为任务ID
  30.      3)删除任务
  31.        #atrm  任务ID
  32.      4)限制用户使用定时任务
  33.        /etc/at.allow 中列出的为用户的用户,一行一个,该文件开始没有
  34.        /etc/at.deny  中列出的为禁止使用的用户
  35.       请大家自己判断二者都列出的用户是否可以执行at?

  36.    2.定期重复执行的任务的实现。主要用于重复执行,如备份
  37.      Linux中的定期任务分为用户级别的和系统级别的。用户级别的优先执行。并且需要crond服务,所以要保证该服务运行!用户定期任务放在/var/spool/cron下,并以用户名命名,系统定期任务放在/etc/crontab中,以及一个特殊文件夹下。
  38.      1)用户级别定期任务
  39.        a)#crontab -e [-u user] //编辑/添加任务 其他用户的root允许
  40.        b)#crontab -l [-u user] //列出定期任务
  41.        c)#crontab -r  [-u user] //删除定期任务,删除所有
  42.       *任务文件格式:
  43.        分钟  小时   日    月   星期   命令
  44.       表示在按指定的时间定期执行命令
  45.       如: 5   3   2  *  *    ls  表示 每月2号5:3 执行ls命令
  46.      *特殊时间格式设置
  47.       a)范围表示  -     如 2-3
  48.       b)多项表示  ,    如1,3,5
  49.       c)间隔表示  /     如 2-12/   */2
  50.      *命令说明
  51.        直接输入命令,如果需要换行,请添加%
  52.      *使用举例
  53.       a)每天晚上3点30备份自己的主要文件
  54.         30  3  *  *  *  cp -R  ~/main  ~/backup
  55.       b)每年12月26日,3-8点每隔1小时, 8-12点每隔2小时提醒自己,生日到了。
  56.        *   3-8,8-12/2 26 12 *  echo "Today is your birthday!"|mail -s "message" $USER
  57.       
  58.      2)系统级别的定期任务
  59.         由root添加,删除
  60.        第一种方式:直接编辑/etc/crontab文件,添加定期任务,/etc/crontab文件的格式:
  61.        分   时   日   月   星期   执行用户  命令   
  62.       或者:
  63.        分   时   日   月   星期   执行用户  run-parts  命令文件位置
  64.          
  65.       例如:
  66.        每天晚上0点,由root执行/etc/的备份,应该在/etc/crontab中添加:
  67.        * * * * *  root  cp -R /etc/* /backup
  68.        或者:
  69.        * * * * *  root  run-parts /etc/cron/cron.syd  //将命令脚本放在/etc/cron.syd下,这需要自己建
  70.     第二种,将定期任务脚本直接放置在几个默认定期执行的目录下,他们分别是: /etc/cron.weekly,/etc/cron.monthly,/etc/cron.hourly,/etc/cron.minutely。注意,直接将命令脚本文件防止在合适的位置,不要编辑/etc/crontab文件,因为这些目录下的命令是自动执行的 !至于放在哪个目录下,我想大家一看就知道了,除非英语是0级,呵呵。
  71.     3)限制用户使用用户级别的定期任务
  72.       /etc/cron.allow中列出允许的用户,没有用户表示不限制任何用户
  73.       /etc/cron.deny 中列出禁止使用定期任务的用户
  74.     4)修改定期任务自动执行后,发送邮件的接受者
  75.       Linux系统提供的定期任务在执行后都想指定的用户发送邮件,表示成功或失败。在/etc/crontab中指定了接受邮件的用户,我们可以直接修改,默认的是root     
复制代码
发表于 2004-8-10 16:27:06 | 显示全部楼层
不错,大多都是大同小异,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表