summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2016-05-04 13:04:17 +0200
committerErich Eckner <git@eckner.net>2016-05-04 13:04:17 +0200
commit01ed277017cebee5f7e83dce2bb9935a43ce80a8 (patch)
treefb83130e6b33547466b97a0eb1b5f618ca67e5a1
parent55823096510f4c308f08aaca133e1f7ae335b61b (diff)
downloadrunjobsparallel-01ed277017cebee5f7e83dce2bb9935a43ce80a8.tar.xz
Makefile neu, kleiner Bugfix, Versionsupdate
-rw-r--r--.gitignore1
-rw-r--r--Makefile41
-rwxr-xr-xrunjobsparallel.in (renamed from runjobsparallel)18
3 files changed, 54 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..707c689
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+runjobsparallel
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..970e015
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,41 @@
+#
+# runjobsparallel - skript for dcron to run daily/weekly/monthly-scripts parallelly instead of sequentially
+#
+# Copyright (c) 2016 Erich Eckner <opensource at eckner dot net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+#
+
+DESTDIR =
+BINDIR = /usr/bin
+TMPDIR = /tmp
+
+VERSION = 0.1
+
+all: runjobsparallel
+
+%: %.in
+ sed "s/#VERSION#/$(VERSION)/; s@#BINDIR#@$(BINDIR)@; s@#TMPDIR#@$(TMPDIR)@" $< > $@
+
+.PHONY: install clean
+
+install: all
+ install -D -m0755 -t $(DESTDIR)$(BINDIR) runjobsparallel
+
+clean:
+ rm -f runjobsparallel
+
+# End of file
diff --git a/runjobsparallel b/runjobsparallel.in
index 763d301..761aeee 100755
--- a/runjobsparallel
+++ b/runjobsparallel.in
@@ -1,16 +1,20 @@
#!/bin/bash
#
-# /usr/sbin/runjobsparallel: run all executables in specified directory parallel
+# #BINDIR#/runjobsparallel: run all executables in specified directory parallel
+# version #VERSION#
#
-if [ "$1" = "" ]; then
- echo "usage: $0 <dir>"
+if [ ! -d "$1" ] || [ $# -ne 1 ]
+then
+ >&2 echo 'runjobsparallel version #VERSION#'
+ >&2 echo ''
+ >&2 echo "usage: $0 <dir>"
exit 1
fi
-cd $1 || exit 1
+cd "$1" || exit 1
-tmpDir=$(mktemp -d /tmp/runjobsparallel.XXXXXX)
+tmpDir=$(mktemp -d #TMPDIR#/runjobsparallel.XXXXXX)
for file in ./*; do
if [ -f $file ] && [ -x $file ]; then
@@ -29,11 +33,13 @@ do
maxErr=0
for ((i=0; i<${#errFiles[@]}; i++))
do
+ ps aux | awk '{print $2}' | grep -q "^${pids[${i}]}\$" && laeuftNoch=true || laeuftNoch=false
+
if [ -r ${errFiles[${i}]} ]
then
curErr=$(cat "${errFiles[${i}]}")
[ ${curErr} -gt ${maxErr} ] && maxErr=${curErr}
- elif ps aux | awk '{print $2}' | grep -q "^${pids[${i}]}\$"
+ elif ${laeuftNoch}
then
allesDa=false
else