QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1005|回复: 4

很急的问题,请帮助我,谢谢!

[复制链接]
发表于 2002-12-25 17:11:53 | 显示全部楼层 |阅读模式
请问哪位大侠可以帮我解决,
我知道可以使用crontab来解决,但关键是crontab的命令行。
对这些命令行该如何写没有思路呀
1。每周日凌晨2:00做磁盘检查,清除log文件。
2。每天凌晨3:00检查各目录中是否存在core文件,有即删除
3。每小时一次,对域名服务进程named运行状况做例行检查,若发现named没有运行,重新启动它。
发表于 2002-12-25 17:47:37 | 显示全部楼层
crontab命令简介

  2001-06-20 17:45


  简介
  crontab-操作每个用户的守护程序和该执行的时间表。

  部分参数说明
  crontab file [-u user]-用指定的文件替代目前的crontab。
  crontab-[-u user]-用标准输入替代目前的crontab.
  crontab-1[user]-列出用户目前的crontab.
  crontab-e[user]-编辑用户目前的crontab.
  crontab-d[user]-删除用户目前的crontab.
  crontab-c dir- 指定crontab的目录。
  crontab文件的格式:M H D m d cmd.
  M: 分钟(0-59)。
  H:小时(0-23)。
  D:天(1-31)。
  m: 月(1-12)。
  d: 一星期内的天(0~6,0为星期天)。
  cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环
  境变量。
  下面是一个例子文件:
  #MIN HOUR DAY MONTH DAYOFWEEK COMMAND
  #每天早上6点
  106* * * date

  #每两个小时
  0*/2* * * date

  #晚上11点到早上8点之间每两个小时,早上部点
  0 23-7/2,8* * * date

  #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
  0 11 4* mon-wed date

  #1月份日早上4点
  0 4 1 jan* date

用google找crontab,一找就是一堆!
回复

使用道具 举报

发表于 2002-12-25 17:53:29 | 显示全部楼层
为1,2,3各写一个脚本,比如叫dellog.sh,delcore.sh,startnamed.sh,这3个脚本分别完成任务1,2,3。
dellog.sh:
这应该比较好写,用一堆rm xxxx.log -f就能完成
delcore.sh:
这也比较好写,也是rm core -f
startnamed.sh:
先用/etc/init.d/named status看看named是否在运行,不运行就/etc/init.d/named start或者不判断,直接/etc/init.d/named restart

然后用crotab让这几个脚本定时运行。
回复

使用道具 举报

 楼主| 发表于 2002-12-25 23:41:55 | 显示全部楼层
谢谢了,这里是我根据你的提示,自己做的答案,请帮我检查一下吧。错误肯定不少,那请帮我指出怎么修改好么?谢谢了! 另外你的第三个提示可否说的具体点,我的水平不是很高,对状态查询和对查询结果的具体处理方法与语句不清楚,受累了!拜托!!!





题二、1。每周日凌晨2:00做磁盘检查,清除log文件。
2。每天凌晨3:00检查各目录中是否存在core文件,有即删除
3。每小时一次,对域名服务进程named运行状况做例行检查,若发现named没有运行,重新启动它。
答案:
为1,2,3各写一个脚本,比如叫log_clear.sh,core_clear.sh,startnamed.sh,这3个脚本分别完成任务1,2,3。

Log_clear.sh
#!/bin/bash

find /var/tmp -name *.log-print -exec rm -rf {} \;
find /var/spool -name *.log-print -exec rm -rf {} \;
find /var/run -name *.log-print -exec rm -rf {} \;
find /var/log -name *.log-print -exec rm -rf {} \;
find /var/lib -name *.log-print -exec rm -rf {} \;
find /etc -name *.log-print -exec rm -rf {} \;
find /dev -name *.log-print -exec rm -rf {} \;
find /lib -name *.log-print -exec rm -rf {} \;
find /boot -name *.log-print -exec rm -rf {} \;
find /usr/tmp -name *.log-print -exec rm -rf {} \;
find /usr/man -name *.log-print -exec rm -rf {} \;
find /usr/lib -name *.log-print -exec rm -rf {} \;
find /usr/bin -name *.log-print -exec rm -rf {} \;
find /proc -name *.log-print -exec rm -rf {} \;
find /bin -name *.log-print -exec rm -rf {} \;
find /home/linus -name *.log-print -exec rm -rf {} \;
find /home/liw -name *.log-print -exec rm -rf {} \;
find /home/ftp -name *.log-print -exec rm -rf {}



core_clear.sh

#!/bin/bash

find /var/tmp -name *core*-print -exec rm -rf {} \;
find /var/spool -name *core*-print -exec rm -rf {} \;
find /var/run -name *core*-print -exec rm -rf {} \;
find /var/log -name *core*-print -exec rm -rf {} \;
find /var/lib -name *core*-print -exec rm -rf {} \;
find /etc -name *core*-print -exec rm -rf {} \;
find /dev -name *core*-print -exec rm -rf {} \;
find /lib -name *core*-print -exec rm -rf {} \;
find /boot -name *core*-print -exec rm -rf {} \;
find /usr/tmp -name *core*-print -exec rm -rf {} \;
find /usr/man -name *core*-print -exec rm -rf {} \;
find /usr/lib -name *core*-print -exec rm -rf {} \;
find /usr/bin -name *core*-print -exec rm -rf {} \;
find /proc -name *core*-print -exec rm -rf {} \;
find /bin -name *core*-print -exec rm -rf {} \;
find /home/linus -name *core*-print -exec rm -rf {} \;
find /home/liw -name *core*-print -exec rm -rf {} \;
find /home/ftp -name *core*-print -exec rm -rf {}





或者用这个方式core_clear.sh
del `find /var -iname *core*`

startnamed.sh

还不会   

以上三个脚本完成以后,将它们保存于目录/usr
执行下列命令
/etc/cat planwork
00 02 * * sun root //usr/log_clear
00 03 *** root/usr/core_clear
00 */1 *** root /usr/ startnamed
/etc/crontab planwork
/etc/crontab -l

此任务完成
回复

使用道具 举报

发表于 2003-3-17 11:38:27 | 显示全部楼层
[code:1]
#!/bin/bash
#startnamed.sh for Linux (Tested on Redhat 8.0)
#

namedd=/etc/init.d/named

if ! /etc/init.d/named status 2> /dev/null 1> /dev/null ; then
  # not running, start it
  $namedd start 2> /dev/null 1> /dev/null
fi
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 09:23 , Processed in 0.048538 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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