Linuxのrun-partsコマンドの使い方と原理


多くのシステムでは、ユーザーディレクトリの下にcronがあります.dailyなどのフォルダでは、中の実行可能ファイルが毎日1回実行されます.つまり、毎日実行されるタスクを追加したい場合は、そのタスクのスクリプトをディレクトリの下に配置すればよい.使いやすくて、原理は何ですか、run-partsコマンドです.
centos 5では、run-partsコマンドは/usr/bin/run-partsにあります.内容は簡単なshellスクリプトです.ターゲットフォルダを巡り、第1階層ディレクトリの実行可能な権限を実行するファイルです.
#!/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 ":
" progname=""; } { print; }' fi done exit 0

ubuntuでは、/bin/run-partsにあり、バイナリファイルであり、より強力な機能を持ち、--testなどのパラメータをサポートしています.