Xref: utzoo comp.unix.questions:27980 comp.sys.att:11444 unix-pc.general:7178 Path: utzoo!utgpu!watserv1!watmath!uunet!fernwood!portal!cup.portal.com!thad From: thad@cup.portal.com (Thad P Floryan) Newsgroups: comp.unix.questions,comp.sys.att,unix-pc.general Subject: Re: Using FTP from cron with .netrc Message-ID: <37827@cup.portal.com> Date: 10 Jan 91 15:53:40 GMT References: <366@cti1.UUCP> Organization: The Portal System (TM) Lines: 107 kmeek@cti1.UUCP (Kevin Meek) in <366@cti1.UUCP> writes: I am trying to send files from a central machine to another file on the remote host. What I've done is create a .netrc directory in my home directory with the machine name and password. then I run the following shell script [...] This script works fine when I execute it from the prompt but when I try to run it from my cron I get the following errors. [...] It isn't using the .netrc?? I tried setting the $HOME variable and even running an su -c username "shellscript" in the cron so my .profile would be run but still no dice!. Any suggestions -- why won't ftp work from cron. I am working on an AT&T 3B2600G running system V ver 3.2.2 At first I received the same errors and non-performance that you did on my 3B1 systems. Then I tried some experiments and got it to work fine! The trick is in both the shell script and in the crontab entry. Running it as my normal login, thad, it all worked fine. Running it as another user, even su'd to thad, my "doit" script didn't work, so I added the "echo" of $HOME and $PWD and that provided the clue to set HOME in the shell script itself since that's what ftp apparently needs, and the use of "/bin/sh" is important in the crontab entry to prevent a "Nonstandard shell" error message. Kevin's posting of his problem highlighted a potentially neato application I needed to do, so I had more than a passing interest to get this to work. Thanks for the idea, and accept this fix as my way of saying "Thanks!". To avoid cluttering the net with example of some stupid errors (:-) I'll just show the final script, crontab entry, and log of a successful run. First: total 14 -rw-r--r-- 1 thad users 865 Jan 10 07:22 #ftp-with-cron -rw-r--r-- 1 thad users 785 Jan 10 07:17 crontab -rw-r--r-- 1 thad users 916 Jan 10 07:16 crontab~ -rw-r--r-- 1 thad users 61 Jan 9 04:53 doit -rwxr-xr-x 1 thad users 220 Jan 10 07:11 doit2 -rwxr-xr-x 1 thad users 218 Jan 10 06:57 doit2~ -rw-r--r-- 1 thad users 1648 Jan 9 03:19 ftp-with-cron -rw-r--r-- 1 thad users 91 Jan 9 04:23 toget Crontab entry (the first produces no log, the second does): #13 7 * * * /bin/sh -c "/u/thad/test/doit2 >/dev/null" 15 7 * * * /bin/sh -c "/u/thad/test/doit2" The shell script (doit2): uname -a #who am i # had to patch out for use with cron echo $HOME " " $PWD # HOME=/u/thad;export HOME #who am i # had to patch out for use with cron echo $HOME " " $PWD # cd /u/thad/test echo $HOME " " $PWD # ftp < /dev/null" Thu Jan 10 07:14:00 1991 crontab read /bin/sh -c "/u/thad/test/doit2" UNIX thadlabs SYSTEM5 3.51a mc68k /u/thad /u/thad Verbose mode on. 200 PORT command okay. 150 Opening data connection for xfr/hdhelp.tar (128.15.22.2,1206) (15360 bytes) . 226 Transfer complete. 15360 bytes received in 0.28 seconds (53 Kbytes/s) 221 Goodbye. /bin/su uucpadm -c "/usr/lib/uucp/uudemon.poll >/dev/null" Thu Jan 10 07:18:00 1991 crontab read /bin/su uucpadm -c "/usr/lib/uucp/uudemon.hour >/dev/null"