<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[解决 /bin/rm: Argument list too long ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Sun, 09 Jun 2013 06:39:02 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：前两天对外包的PHP返回慢作了一个xdebug的统计，后来尽管加上了那个rm的crontab，但是后来发现日志依旧在，还是运维发现，上了30G了。<br/>后来查了下crontab的日志文件，发现：<br/><textarea name="code" class="JS" rows="15" cols="100">
-rw-r--r-- 1 root root 1292 Jun&nbsp;&nbsp;9 10:00 /root/clearXdebugFolder.log
[root@test ~]# cat /root/clearXdebugFolder.log
/root/clearXdebugFolder.sh: line 1: /bin/rm: Argument list too long
/root/clearXdebugFolder.sh: line 1: /bin/rm: Argument list too long
/root/clearXdebugFolder.sh: line 1: /bin/rm: Argument list too long
</textarea><br/><br/>配置：<br/>一：Crontab定时删除，1小时删除一次：<br/><textarea name="code" class="php" rows="15" cols="100">
#clear Php Xdebug&#039;s Folder Per one hour,Add By:xiangdong,2013.06.5
0 */1 * * * /bin/bash /root/clearXdebugFolder.sh &gt;&gt; /root/clearXdebugFolder.log 2&gt;&amp;1
</textarea><br/><br/>三分钟一清，试过一小时一清，都3G左右大小了：<br/><textarea name="code" class="php" rows="15" cols="100">
#clear Php Xdebug&#039;s Folder Per one hour,Add By:xiangdong,2013.06.5
*/3 * * * * /bin/bash /root/clearXdebugFolder.sh &gt;&gt; /root/clearXdebugFolder.log 2&gt;&amp;1
</textarea><br/><br/>二：应该是生成的xdebug日志文件太多了造成的（1小时一次有点长了），这个文件删除不了：<br/><textarea name="code" class="php" rows="15" cols="100">
[root@test ~]# cat /root/clearXdebugFolder.sh 
#!/bin/bash
find /tmp/xdebug -name &quot;*&quot; -type f&#124;xargs rm -Rf
dateTime=`date +%Y%m%d%H%M%S`
echo $dateTime
</textarea><br/>出现：Argument list too long。<br/><br/>三：网上找了下，摘录如下：<br/>cache目录，谁知道输入<br/>rm *<br/>的命令后，大概几秒后屏幕就跳出<br/>/bin/rm: argument list too long<br/>条件反射动作，上百度和google查找，找到解决方法和原因，原因是一个文件夹下文件太多，使用rm删除就会出现/bin/rm: Argument list too long错误.<br/>解决方法：http://hintcnuie.javaeye.com/blog/431354<br/>按网址上面写的输入<br/>ls &#124; xargs -n 10 rm -fr ls<br/>就解决了，这句解释为：输出所有的文件名(用空格分割) xargs就是将ls的输出，每10个为一组(以空格为分隔符)，作为rm -rf的参数也就是说将所有文件名10个为一组，由rm -rf删除，这样就不会超过命令行的长度了.<br/>另外找到用脚本的方法:<br/>for loop in `ls 目录路径`<br/>do<br/>rm -f $loop<br/>done<br/>注意：$loop是删除的文件名，确保路径是否正确。<br/>但这个还没有实验过。<br/>来自：http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0614/1538.html<br/>第二种方法：<br/>当某个文件夹下的文件太多，不能使用rm删除<br/># rm * -rf<br/>-bash: /bin/rm: Argument list too long<br/>网上找了个方法，贴上来给大家分享<br/>find PATH -name *.mp3 -exec rm &#123;&#125; &#92;;<br/>如，要删除 /tmp/123/abc 目录下的<br/>find&nbsp;&nbsp;/tmp/123/abc ‘*’ -exec rm &#123;&#125; &#92;;<br/>如当前目录为 /tmp/123 ，想删除 /tmp/123/abc 下的<br/>find&nbsp;&nbsp;./abc&nbsp;&nbsp;-name ‘*’ -exec rm &#123;&#125; &#92;;<br/>　　大家可以自己试试，不过要小心处理，别删错重要文件了！！！<br/>来自：http://linux.chinaitlab.com/administer/805334.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 解决 /bin/rm: Argument list too long ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>