diff options
Diffstat (limited to 'source/a/dcron/run-parts')
-rw-r--r-- | source/a/dcron/run-parts | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/source/a/dcron/run-parts b/source/a/dcron/run-parts new file mode 100644 index 00000000..dd6b59b3 --- /dev/null +++ b/source/a/dcron/run-parts @@ -0,0 +1,49 @@ +#!/bin/sh +# run-parts: Runs all the scripts found in a directory. + +# keep going when something fails +set +e + +if [ $# -lt 1 ]; then + echo "Usage: run-parts <directory>" + exit 1 +fi + +if [ ! -d $1 ]; then + echo "Not a directory: $1" + echo "Usage: run-parts <directory>" + exit 1 +fi + +# There are several types of files that we would like to +# ignore automatically, as they are likely to be backups +# of other scripts: +IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp" + +# Main loop: +for SCRIPT in $1/* ; do + # If this is not a regular file, skip it: + if [ ! -f $SCRIPT ]; then + continue + fi + # Determine if this file should be skipped by suffix: + SKIP=false + for SUFFIX in $IGNORE_SUFFIXES ; do + if [ ! "`basename $SCRIPT $SUFFIX`" = "`basename $SCRIPT`" ]; then + SKIP=true + break + fi + done + if [ "$SKIP" = "true" ]; then + continue + fi + # If we've made it this far, then run the script if it's executable: + if [ -x $SCRIPT ]; then + echo "$SCRIPT:" + echo + $SCRIPT 2>&1 + echo + fi +done + +exit 0 |