Linuxのrun-partsコマンドの使い方と原理
1483 ワード
多くのシステムでは、ユーザーディレクトリの下にcronがあります.dailyなどのフォルダでは、中の実行可能ファイルが毎日1回実行されます.つまり、毎日実行されるタスクを追加したい場合は、そのタスクのスクリプトをディレクトリの下に配置すればよい.使いやすくて、原理は何ですか、run-partsコマンドです.
centos 5では、run-partsコマンドは/usr/bin/run-partsにあります.内容は簡単なshellスクリプトです.ターゲットフォルダを巡り、第1階層ディレクトリの実行可能な権限を実行するファイルです.
ubuntuでは、/bin/run-partsにあり、バイナリファイルであり、より強力な機能を持ち、--testなどのパラメータをサポートしています.
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などのパラメータをサポートしています.