Linux之 run-parts 命令的用法及原理

在很多系统中,用户目录下都有cron.daily之类的文件夹,里面的可执行文件每天都会被执行一次。也就是说如果想添加一个每天都被执行的任务的话,在目录下放置该任务的脚本即可。使用很方便,原理是什么呢,就是run-parts命令。

 在centos5下,run-parts命令位于/usr/bin/run-parts,内容是很简单的一个shell脚本,就是遍历目标文件夹,执行第一层目录下的可执行权限的文件。

#!/bin/bash  
  
# run-parts - concept taken from Debian  
  
# keep going when something fails  
set +e  
  
if [ $# -lt 1 ]; then  
    echo "Usage: run-parts "  
    exit 1  
fi  
  
if [ ! -d $1 ]; then  
    echo "Not a directory: $1"  
    exit 1  
fi  
  
# Ignore *~ and *, scripts  
for i in $1/*[^~,] ; do  
    [ -d $i ] && continue  
    # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts  
    [ "${i%.rpmsave}" != "${i}" ] && continue  
        [ "${i%.rpmorig}" != "${i}" ] && continue  
        [ "${i%.rpmnew}" != "${i}" ] && continue  
        [ "${i%.swp}" != "${i}" ] && continue  
    [ "${i%,v}" != "${i}" ] && continue  
  
    if [ -x $i ]; then  
        $i 2>&1 | awk -v "progname=$i" \  
                  'progname {  
                   print progname ":\n"  
                   progname="";  
                   }  
                   { print; }'  
    fi  
done  
  
exit 0  
 在ubuntu下,该文件位于/bin/run-parts,是个二进制文件,功能更为强大,支持--test等参数。

你可能感兴趣的:(Linux学习系列)