<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/242</link>
<title><![CDATA[run-parts命令的用法及原理]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[linux操作系统]]></category>
<pubDate>Wed, 01 Feb 2012 14:10:16 +0000</pubDate> 
<guid>http://www.snooda.com/read/242</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;在很多系统中，用户目录下都有cron.daily之类的文件夹，里面的可执行文件每天都会被执行一次。也就是说如果想添加一个每天都被执行的任务的话，在目录下放置该任务的脚本即可。使用很方便，原理是什么呢，就是run-parts命令。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在centos5下，run-parts命令位于/usr/bin/run-parts，内容是很简单的一个shell脚本，就是遍历目标文件夹，执行第一层目录下的可执行权限的文件。<br/>&nbsp;&nbsp;&nbsp;&nbsp;<div class="code"><br/>#!/bin/bash<br/><br/># run-parts - concept taken from Debian<br/><br/># keep going when something fails<br/>set +e<br/><br/>if &#91; $# -lt 1 &#93;; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;Usage: run-parts &lt;dir&gt;&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br/>fi<br/><br/>if &#91; ! -d $1 &#93;; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;Not a directory: $1&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br/>fi<br/><br/># Ignore *~ and *, scripts<br/>for i in $1/*&#91;^~,&#93; ; do<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#91; -d $i &#93; &amp;&amp; continue<br/>&nbsp;&nbsp;&nbsp;&nbsp;# Don&#039;t run *.&#123;rpmsave,rpmorig,rpmnew,swp&#125; scripts<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#91; &quot;$&#123;i%.rpmsave&#125;&quot; != &quot;$&#123;i&#125;&quot; &#93; &amp;&amp; continue<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91; &quot;$&#123;i%.rpmorig&#125;&quot; != &quot;$&#123;i&#125;&quot; &#93; &amp;&amp; continue<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91; &quot;$&#123;i%.rpmnew&#125;&quot; != &quot;$&#123;i&#125;&quot; &#93; &amp;&amp; continue<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91; &quot;$&#123;i%.swp&#125;&quot; != &quot;$&#123;i&#125;&quot; &#93; &amp;&amp; continue<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#91; &quot;$&#123;i%,v&#125;&quot; != &quot;$&#123;i&#125;&quot; &#93; &amp;&amp; continue<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if &#91; -x $i &#93;; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i 2&gt;&amp;1 &#124; awk -v &quot;progname=$i&quot; &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;progname &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print progname &quot;:&#92;n&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; progname=&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#123; print; &#125;&#039;<br/>&nbsp;&nbsp;&nbsp;&nbsp;fi<br/>done<br/><br/>exit 0<br/></div><br/>&nbsp;&nbsp;&nbsp;&nbsp; 在ubuntu下，该文件位于/bin/run-parts，是个二进制文件，功能更为强大，支持--test等参数。<br/>Tags - <a href="http://www.snooda.com/tags/run-parts/" rel="tag">run-parts</a>
]]>
</description>
</item><item>
<link>http://www.snooda.com/read/242#blogcomment171</link>
<title><![CDATA[[评论] run-parts命令的用法及原理]]></title> 
<author>wwdsad &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 21 Apr 2017 09:07:23 +0000</pubDate> 
<guid>http://www.snooda.com/read/242#blogcomment171</guid> 
<description>
<![CDATA[ 
	]
]]>
</description>
</item>
</channel>
</rss>