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