Xref: utzoo comp.unix.questions:9751 comp.unix.wizards:11755 Path: utzoo!utgpu!water!watmath!clyde!ima!cfisun!lakart!dg From: dg@lakart.UUCP (David Goodenough) Newsgroups: comp.unix.questions,comp.unix.wizards Subject: Why does a shell script fail in crontab? Message-ID: <287@lakart.UUCP> Date: 15 Oct 88 15:22:34 GMT Organization: Lakart Corporation, Newton, MA Lines: 55 I have a shell script ( /usr/local/dopath ) that has the job of updating our UUCP map files every day at 7:00 AM. There is only one problem with it: when it runs from crontab it produces a zero size Index file, yet when I run it by hand from a uid 0 shell it succedes, and generates the correct Index file. Here is the crontab entry: 0 7 * * * root /usr/local/dopath and here is the contents of that same file: #! /bin/sh # # first get the new map stuff from comp.mail.maps # umask 022 cd /usr/spool/maps ln /usr/spool/news/comp/mail/maps/* . /usr/local/unshar -c * 2>&1 >/dev/null cp [ud].* /usr/lib/uucp/uumap rm -f * # # Next get the temp stuff out of news.config # cd /usr/lib/uucp/uumap rm -f d.Temp /usr/local/getcon /usr/spool/news/news/config/* >d.Temp # # now build the path file # rm -f UUPATH /usr/local/pathalias u.[A-Z]* d.* u.[a-z]* 2>/dev/null | \ /usr/local/pathfilt | sort -u > UUPATH # # finally make the index # rm -f Index bm "#N" [du].* | sed 's/:#N/ /' | tr -s '\011, ' ' ' | \ awk '{ for (i = NF; i > 1; --i) printf "%s\t%s\n", $i, $1 }' | \ sort -u > Index # chown uucp * chmod 644 [ud].* UUPATH Index -------- The thing I don't understand is that UUPATH is generated just fine, whereas Index is only generated when I run this by hand. Note: this is a setuid root shell script - yes I am aware of the possible security leak, but there are only two people who use lakart that are unix.wizards, and we both know the root password. I'm baffled to all H**L on this one - can anyone else shed some light? -- dg@lakart.UUCP - David Goodenough +---+ | +-+-+ ....... !harvard!xait!lakart!dg +-+-+ | AKA: dg%lakart.uucp@harvard.harvard.edu +---+