Set nice value and detach from cron
authorCarl N Baldwin <cnb@hpsvcnb.fc.hp.com>
Mon, 31 Oct 2005 17:22:36 +0000 (10:22 -0700)
committerCarl N Baldwin <cnb@hpsvcnb.fc.hp.com>
Mon, 31 Oct 2005 17:22:36 +0000 (10:22 -0700)
scripts/burn-imgs.sh
scripts/cron-burn.sh [new file with mode: 0755]
scripts/cron-pack.sh [new file with mode: 0755]
scripts/cron.sh [deleted file]

index 2be9e0a664eb26da16a150ff84639c7ce656e5f4..b4d71bf807219ff3189e41894780f1a971d6a9d7 100755 (executable)
@@ -2,6 +2,7 @@
 
 export PATH=$(dirname $0):/bin:/usr/bin:/sbin
 
+cronstopstart="/etc/init.d/cron"
 . config.sh
 
 # If the noburn file is there then don't burn.
@@ -31,6 +32,10 @@ touch $noburnfile
 [ -z "$img" ] && exit 1
 [ -s "$img" ] || exit 1
 
+# To avoid buffer underruns I'm going to stop cron and renice myself
+$cronstopstart stop
+renice -10 $$
+
 # Burn the image to a disk.
 cdrecord-wrapper.sh -dao dev=$sdev $img > $logfile 2>&1
 
@@ -39,6 +44,10 @@ if [ "0" != "$?" ]; then
   exit 1
 fi
 
+# We don't need to be high-priority anymore.
+renice 0 $$
+$cronstopstart start
+
 # Now verify the disk by running md5sum on the entire contents of the disk
 md5sum=$(tempfile)
 echo Md5sum: $md5sum
diff --git a/scripts/cron-burn.sh b/scripts/cron-burn.sh
new file mode 100755 (executable)
index 0000000..4967935
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+export PATH=$(dirname $0):/bin:/usr/bin:/sbin
+
+. config.sh
+
+# burn-imgs.sh needs to be detached so that it can stop and start cron without
+# dying itself.
+
+setsid burn-imgs.sh
diff --git a/scripts/cron-pack.sh b/scripts/cron-pack.sh
new file mode 100755 (executable)
index 0000000..a757da9
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+export PATH=$(dirname $0):/bin:/usr/bin:/sbin
+
+. config.sh
+
+if [ -n "$(find $lastbackupfile -mtime +14)" -o -n "$(cat $statusfile | grep -i incomplete)" ]; then
+  echo "Running backups from cron..."
+  setsid pack-image.sh
+  exit 0
+fi
+
+echo "Not running backups today.  Backups were last run on $(<$lastbackupfile)"
diff --git a/scripts/cron.sh b/scripts/cron.sh
deleted file mode 100755 (executable)
index d052bd9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-export PATH=$(dirname $0):/bin:/usr/bin:/sbin
-
-. config.sh
-
-if [ -n "$(find $lastbackupfile -mtime +14)" -o -n "$(cat $statusfile | grep -i incomplete)" ]; then
-  echo "Running backups from cron..."
-  exec pack-image.sh
-fi
-
-echo "Not running backups today.  Backups were last run on $(<$lastbackupfile)"