会社でcygwin使ってるんだけど、cron入れても/etcの下にcron.hourlyとかcron.weeklyがない。困った。調べてみるとそもそもrun-partsがない。run-partsは指定したディレクトリに入っているコマンドを順次実行してくれるコマンド。これがない。
探したところ、run-partsスクリプトを書いてる人がいたので拝借。
取りあえずgistに貼っつけとく。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
0 件のコメント:
コメントを投稿