频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

管理/var/spool/clientmqueue/下的大文件

来源: 作者:佚名 出处:巧巧读书 2008-02-27 进入讨论组

讨论组http://group.qqread.com

  原因:

  在baidu上查询得知产生这些海量文件的原因是:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;所以这些文件不是什么重要的文件,删!

  于是cd /var/spool/clientmqueue

  rm * (rm -f *) 都不行,显示参数列表过长(-bash: /bin/rm: Argument list too long)无法用rm直接删除,怎么办?

  解决办法:

  将crontab里面的命令后面加上 > /dev/null 2>&1. 如:ls -l / > /dev/null 2>&1

  补充,这些文件太多的时候用rm删除很慢,可以以root身份进入/var/spool/clientmqueue/,执行: ls|xargs rm -f 就能全部删除了

  使用xargs

  # cd /var/spool/clientmqueue

  # ls | xargs rm -f

  回车后,过了两三分钟,终于执行完了,clientmqueue下空空如也,磁盘可用空间一下子增加了不少。

  附xargs介绍:

  Linux Shell真的是一个比较好玩的东西,以前也会经常写一些,不过都是些简单的东西,或者称之为批处理,估计也只能叫批处理,只是一些简单的命令的堆积。:)。

  今天稍微看了一下xargs,一个简单的示例应用如下:

  [root@TestServer haha]#ls

  a.class b.class c.class

  a.java b.java c.java

  [root@TestServer haha]#ls |xargs rm

  [root@TestServer haha]#ls

  [root@TestServer haha]#

  虽然有点避简就烦,但是能说明了xargs的功能:它将输入输出给xargs后面的命令,作为那个命令的参数。

  也就是说,上面的命令执行相当于:

  rm a.class b.class c.class a.java b.java c.java

  xargs将前面的ls的结果交给了xargs后面的rm命令,作为rm命令的参数。它真正的含义可以用xargs自己来解释:

  [root@TestServer haha]# cat a

  first line

  second line

  [root@TestServer haha]# cat a |xargs

  first line second line

  [root@TestServer haha]# cat a |xargs ——verbose

  /bin/echo first line second line

  first line second line third line

  [root@TestServer haha]# cat a |xargs ——verbose ——max-args=1

  /bin/echo first

  first

  /bin/echo line

  line

  /bin/echo second

  second

  /bin/echo line

  line

  还有人这样解释xargs:

  xargs的作用是用来回避对命令行长度的限制,它通过使用一个参数多次调用一个命令实现这一功能,而不是一次使用多个参数。这句话的意思是:xargs永远一次只传给他后面的命令一个参数,然后不停的将所有参数一一传完,然而,这个说法是错误的!下面的试验将证明这个说法是不正确的:

  [root@TestServer haha]# ll

  total 12

  -rw-r——r—— 1 root root 34 Aug 19 20:43 a

  -rw-r——r—— 1 root root 34 Aug 19 20:45 b

  drwxr-xr-x 2 root root 4096 Aug 19 20:54 c_folder

  [root@TestServer haha]# ll c_folder/

  total 0

  [root@TestServer haha]# ls| xargs cp

  [root@TestServer haha]# ll

  total 12

  -rw-r——r—— 1 root root 34 Aug 19 20:43 a

  -rw-r——r—— 1 root root 34 Aug 19 20:45 b

  drwxr-xr-x 2 root root 4096 Aug 19 20:54 c_folder

  [root@TestServer haha]# ll c_folder/

  total 8

  -rw-r——r—— 1 root root 34 Aug 19 20:54 a

  -rw-r——r—— 1 root root 34 Aug 19 20:54 b

  [root@TestServer haha]#

  从这个试验可以看到,xargs确实是将a b c_folder三个参数同时传给了cp命令,不然不可能出现这样的结果。

  附rm命令:

  名称:rm

  使用权限:所有使用者

  使用方式:rm [options] name……

  说明:删除档案及目录。

  参数:

  -i 删除前逐一询问确认。

  -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

  -r 将目录及以下之档案亦逐一删除。

  范例:

  删除所有C语言程式档;删除前逐一询问确认 :

  rm -i *.c

  将 Finished 子目录及子目录中所有档案删除 :

  rm -r Finished

更多文章 更多内容请看网络管理实用手册专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章