LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 03-11-06, 17:26 第 1 帖
林克
 
林克 的头像
 
 
注册会员  
  注册日期: Nov 2003
  我的住址: 海淀
  帖子: 12
  精华: 1
 

标题: 几个shell自动化脚本


范例一:定期清理暂存文件
#!/bin/sh
# Shell Script filename : cleantmp.sh
/usr/sbin/tmpwatch 240 /tmp /var/tmp /usr/tmp
使用范例:# sh cleantmp.sh
作用:使用tmpwatch检查/tmp、/var/tmp、/usr/tmp的所有目录,假如这些目录下的某个文件超过240小时(10天),都没有任何人使用它就删除这个文件。

范例二:检查硬盘空间使用率
#!/bin/sh
# Shell Script filename : checkdisk.sh
log=/var/log
du -sh $1 > $log/du.log
mail -s "Disk Usage Ratio" root < $log/du.log
使用范例:# sh checkdisk.sh /home
作用:通过du检查指定目录的磁盘空间使用率,并将结果记录在/var/log/du.log,然后将结果寄信给root。

范例三:搜寻所有记录文件的关键字符串
#!/bin/sh
# Shell Script filename : search.sh
find $1 -type f | xargs grep $2
使用范例:# sh search.sh /var/log named
作用:寻找一个目录下的所有文件(包括子目录)内的关键字。(linux: grep -r string /dir)
  林克 当前离线   回复时引用此帖
旧 03-11-06, 17:34 第 2 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

不错~~,谢谢兄弟
  KornLee 当前离线   回复时引用此帖
旧 03-11-06, 19:43 第 3 帖
wide288
 
wide288 的头像
 
 
注册会员  
  注册日期: Nov 2002
  我的住址: 辽宁省
  帖子: 2,725
  精华: 15
 

好东西.







__________________
my new pc: Intel Duo 1.86GHz/ 2G Mem/ GIGABYTE 965P-S3/ 250G hardware/ 艾尔莎 影雷者 7600/ DVD write rom/ netcard Marvell 88E8056/ 联志机箱/

http://gimpstore.cn/
追求一种自由,共享,与技术的极限和快乐的生活!
gimp 教程
http://www.linux-wiki.cn/work/gimp/
  wide288 当前离线   回复时引用此帖
旧 04-07-03, 10:03 第 4 帖
zjken
 
zjken 的头像
 
 
注册会员  
  注册日期: Jan 2004
  我的住址: 广州
  帖子: 142
  精华: 0
 

范例二:检查硬盘空间使用率
#!/bin/sh
# Shell Script filename : checkdisk.sh
log=/var/log
du -sh $1 > $log/du.log
~~~这个式什么意思阿?为什么要加一个$1?直接du -sh >$log/du.log不就可以了?







__________________
朱清时院士告诫青年人:要想成功,
你必须有肚量去容忍那些“不能改变的事”,
有勇气去改变那些“可以改变的事”,
而且要有智慧去区别这两类事。
  zjken 当前离线   回复时引用此帖
旧 04-07-03, 10:37 第 5 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

这个$1是shelll位置参数
  KornLee 当前离线   回复时引用此帖
旧 04-07-03, 15:11 第 6 帖
zjken
 
zjken 的头像
 
 
注册会员  
  注册日期: Jan 2004
  我的住址: 广州
  帖子: 142
  精华: 0
 

干吗要加上呢,直接像我那样不可以吗??
请教
  zjken 当前离线   回复时引用此帖
旧 04-07-03, 15:14 第 7 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

随你喽~~~,不过你动手实践一下,比较加与不加的区别吧~~~
  KornLee 当前离线   回复时引用此帖
旧 04-07-03, 16:27 第 8 帖
zjken
 
zjken 的头像
 
 
注册会员  
  注册日期: Jan 2004
  我的住址: 广州
  帖子: 142
  精华: 0
 

懂了,多谢了
  zjken 当前离线   回复时引用此帖
旧 04-07-08, 15:44 第 9 帖
dddkkk213
 
 
 
注册会员  
  注册日期: Apr 2004
  帖子: 3
  精华: 0
 

啊,我还没懂呀,知道的说下撒,我试垃,结果一样呀。
  dddkkk213 当前离线   回复时引用此帖
旧 04-07-10, 02:56 第 10 帖
icon
 
 
 
注册会员  
  注册日期: Jan 2004
  帖子: 5
  精华: 0
 

shell自动把命令行中的第一个参数存入变量$1,第二个存入$2,依此类推..
当你执行楼主给出的脚本,并且指定所要检查的目录后,shell自动将这个指定目录存入$1,然后开始执行脚本命令
  icon 当前离线   回复时引用此帖
旧 04-07-11, 18:08 第 11 帖
aaccdd
 
aaccdd 的头像
 
 
退役版主  
  注册日期: Aug 2003
  帖子: 3,346
  精华: 16
 

例三看得不很明白,
好像是在$1的目录下搜索常规文件(regular file -- 是不是所有的普通文件,不是块文件、链接什么的)
然后在这些文件里查找$2的关键字?
似乎是查看日志用的?:ask







__________________
===============================================
论坛使用及常见问题解决办法:
http://bbs.linuxsir.org/showthread.php?t=108946
===============================================
昨日之非不可留,留之则根烬复萌,而尘情终累乎理趣;
今日之是不可执,执之则渣滓未化,而理趣反转为欲根。
===============================================
  aaccdd 当前离线   回复时引用此帖
旧 04-07-11, 18:13 第 12 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 aaccdd 发表
例三看得不很明白,
好像是在$1的目录下搜索常规文件(regular file -- 是不是所有的普通文件,不是块文件、链接什么的)
然后在这些文件里查找$2的关键字?
似乎是查看日志用的?:ask
这里的规则文件,指的就是普通文本文件,如果查找块文件就用-type b,链接文件就用-type l
  KornLee 当前离线   回复时引用此帖
旧 05-08-12, 18:46 第 13 帖
homesp
 
homesp 的头像
 
 
注册会员  
  注册日期: Jun 2004
  我的住址: 天津
  帖子: 1,487
  精华: 1
 

tmpwatch在哪个包里,我的系统怎么提示没有此命令呢?







__________________
Debian Testing

Dell D630
2G RAM
Nvidia Quadro NVS 135m display card
  homesp 当前离线   回复时引用此帖
旧 06-02-12, 17:54 第 14 帖
xueyh 帅哥
 
xueyh 的头像
 
 
注册会员  
  注册日期: Feb 2006
  帖子: 5
  精华: 0
 

引用:
作者: dddkkk213
啊,我还没懂呀,知道的说下撒,我试垃,结果一样呀。
因为你没有指定 要du-sh 的目录呀。

要不指定目录的话,du -sh > du.log跟du -sh $1 > du.log的目录都是一样的,应该是用户当前所在的目录.

比如
代码:
root@test ~# ./checkdisk.sh /var/lib/mysql 这就指定要du -sh 的目录是/var/lib/mysql ,$1的值就是/var/lib/mysql







__________________
MSN:huihuielephant@hotmail.com

此帖于 06-02-12 18:00 被 xueyh 编辑.
  xueyh 当前离线   回复时引用此帖
旧 07-03-29, 17:16 第 15 帖
z_naly
 
 
 
注册会员  
  注册日期: Mar 2007
  帖子: 1
  精华: 0
 

还可以,不过太简单了,有没有比教大的脚本文件,拿过来大家分析一下。
  z_naly 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:58


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org