#!/bin/sh - HYBIN=$HOME/.hyplan/bin PATH=$PATH:$HYBIN; export PATH delayh=300 # timeout in seconds for dailyh lndelay=1800 # timeout in seconds for dailyh -l delayl=300 # timeout in seconds for dailyl # Don't attempt to run dailyl on these hosts, because, for example, rsh # to them is unreliable. except=tank # space separated list # daily - routine main home directory update and distribution # Steve Kinzler, kinzler@cs.indiana.edu, Nov 93 # http://www.cs.indiana.edu/~kinzler/home.html#homedir case $# in 0) bad=t;; *) bad=;; esac std=; web=; dist=; home=; link=; local= while : do case $# in 0) break;; *) case "$1" in -s) std=$1;; -w) web=$1;; -c) dist=$1;; -d) home=$1;; -l) link=$1;; -r) local=$1;; -a) std=-s; web=-w; dist=-c; home=-d; local=-r;; -A) std=-s; web=-w; dist=-c; home=-d; link=-l; local=-r;; -h) bad=t; break;; -*) bad=t; echo "$0: unknown option ($1)" 1>&2;; *) bad=t; break;; esac shift;; esac done case "$#$bad" in 0) ;; *) cat << EOF 1>&2 usage: $0 [ [ -s ] [ -w ] [ -c ] [ -d ] [ -l ] [ -r ] | -a | -A ] -s run standard checks and updates (ckaccts, mkshosts, makehostmenus, lesskey) -w run web updates (mkbookmarks, mkhome, mkhits, mkrefs) -c run rdisth -d run dailyh on all homedirs -l run mkhomes and pass -l (mkl) argument to dailyh -r run dailyl on all hosts -a -s, -w, -c, -d and -r -A -s, -w, -c, -d, -l and -r EOF exit 1;; esac cd || exit $? host=${HOST-${HOSTNAME-`(hostname) 2> /dev/null`}} case "$host" in '') host=`uname -n`;; esac case "$host" in '') echo "$0: cannot determine hostname" 1>&2; exit 2;; esac host=`echo "$host" | sed 's/\..*//'` set x `hosts main | sed 's/\..*//'`; shift case $# in 0) echo "$0: main host is not defined" 1>&2; exit 3;; 1) ;; *) echo "$0: multiple main hosts defined ($*)" 1>&2; exit 4;; esac case "$host" in "$1") ;; *) echo "$0: this host ($host) is not the main host ($1)" 1>&2; exit 5;; esac case "$std" in ?*) ckaccts mkshosts & # mkxauthority -k -i & # now run in x(1), using ssh method makehostmenus & lesskey -o etc/lesskey etc/lesskey.txt & # mkwhatis & # not worth supporting any longer wait;; esac case "$web" in ?*) mkbookmarks & mkhome & # mkhits & wait;; # mkrefs;; ## ${RSHCMD-rsh} ${COMPUTE-localhost} -n exec $HYBIN/mkmonthstats;; esac case "$link" in ?*) mkhomes; delayh="$lndelay";; esac case "$dist" in ?*) rdisth 2>&1 | rdistsumm -e;; esac case "$home" in ?*) hosts home | eachhost -V -n -d $delayh exec dailyh -d -u $link;; esac case "$local" in ?*) case "$except" in ?*) hostargs="-v $except";; *) hostargs=;; esac inode=`ls -i $MAIL 2> /dev/null | awk '{ print $1 }'` hosts -l home nfs | hosts - $hostargs | eachhost -V -n -d $delayl exec dailyl $inode;; esac