scripts: add optional support for "timeout"; allow site-updater to be called directly

Sometimes the mtn syncs hang until aborted. Well, my syncing with welterde and
echelon would hang periodically until I added the same timeout support I'm
adding here. In short, if Montone's action has not completed within 20 minutes,
forcably kill the process. /usr/bin/timeout is a part of coreutils so most
(all?) Linux distributions should have it but I don't require timeout to exist.
If "timeout" can be found, it'll be used.

Also, set site-updater.sh to change to the directory in which the script is
located. This way one can give an absolute path in a cronjob.

Both of these changes should be low risk.
This commit is contained in:
kytv
2014-02-13 22:13:21 +00:00
parent 9d60201506
commit 90047161cb
2 changed files with 11 additions and 3 deletions

View File

@@ -1,11 +1,12 @@
#!/bin/sh
#!/bin/sh -x
cd $(dirname $0)
. ./etc/update.vars
TMP=$(mktemp XXXXXXXXXX)
trap 'rm -f $TMP;exit' 0 1 2 15
mtn pull "mtn://$MTNURL?$MTNBRANCH"
mtn up 2>&1 | tee $TMP
$MTN pull "mtn://$MTNURL?$MTNBRANCH"
$MTN up 2>&1 | tee $TMP
if grep "^mtn: \(add\|patch\|dropp\|updat\)\(ed\|ing\) 'i2p2www/translations/" "$TMP" >/dev/null ; then