41 lines
944 B
Bash
Executable File
41 lines
944 B
Bash
Executable File
#!/bin/bash
|
|
# run-parts - concept taken from Debian
|
|
|
|
# keep going when something fails
|
|
set +e
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: run-parts <dir>"
|
|
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,cfsaved} scripts
|
|
[ "${i%.cfsaved}" != "${i}" ] && continue
|
|
[ "${i%.rpmsave}" != "${i}" ] && continue
|
|
[ "${i%.rpmorig}" != "${i}" ] && continue
|
|
[ "${i%.rpmnew}" != "${i}" ] && continue
|
|
[ "${i%.swp}" != "${i}" ] && continue
|
|
[ "${i%,v}" != "${i}" ] && continue
|
|
|
|
if [ -x $i ]; then
|
|
logger -p cron.notice -t "run-parts($1)[$$]" "starting $(basename $i)"
|
|
$i 2>&1 | awk -v "progname=$i" \
|
|
'progname {
|
|
print progname ":\n"
|
|
progname="";
|
|
}
|
|
{ print; }'
|
|
logger -i -p cron.notice -t "run-parts($1)" "finished $(basename $i)"
|
|
fi
|
|
done
|
|
|
|
exit 0
|