Sponsored Content
Full Discussion: SFTP Not Working With CRON
Top Forums UNIX for Advanced & Expert Users SFTP Not Working With CRON Post 302489058 by PatrickPurfield on Wednesday 19th of January 2011 11:09:43 AM
Old 01-19-2011
Sorry for the delay in my response. There was a amall typo in my last post so I'll recap where I'm at with this problem.

The account owning the sftp command is prodid. I sudo su - prodid to the prodid account to modify and execute scripts. In the directory /home/prodid I executed:

crontab < prodid_crontab.txt

And I verified that cron is using my schedule file (prodid_crontab.txt). Here is the prodid_crontab.txt file:

Code:
32 11 * * 1 /home/prodid/data/LMC/accept/WeeklyLabor/sql_loader/sftp_testing/sftp_testing.job abusmgt /appl/oracle1/product/10.2.0.4 /appl/oracle1
 
And here is the file sftp_testing.job that I want cron to execute:
 
#!/bin/sh
##########################################################################
##
## Declarations.
##
## HOMEDIR=/home/prodid/data/LMC/prod/WeeklyLabor
HOMEDIR=/home/prodid/data/LMC/accept/WeeklyLabor
DATADIR=${HOMEDIR}/sql_loader/sftp_testing/
LOGDIR=${DATADIR}/log_files
LOG=${LOGDIR}/sftp_testing.logfile
TODAY=`date "+DATE: %m/%d/%y TIME: %H:%M:%S %p"`
FILEDATE=`date "+%Y%m%d"`
DFILE=zc00799i_pch.out
##
## Process Passed-in Parameter Values
##
ORACLE_SID=$1
export ORACLE_SID
ORACLE_HOME=$2
export ORACLE_HOME
ORACLE_BASE=$3
export ORACLE_BASE
##
## Directory for sqlldr and sqlplus
##
BINDIR=${ORACLE_HOME}/bin
cd ${DATADIR}
echo SAP_NODE_FTP JOB STARTING.........
echo "SAP_NODE_FTP JOB STARTING........." > ${LOG}
if [ -f ${DFILE} ]
then
  rm ${DFILE}
fi
echo "ORACLE_SID:   " >> ${LOG}
echo ${ORACLE_SID} >> ${LOG}
echo "ORACLE_HOME:  " >> ${LOG}
echo ${ORACLE_HOME} >> ${LOG}
echo "ORACLE_BASE:  " >> ${LOG}
echo ${ORACLE_BASE} >> ${LOG}
echo " " >> ${LOG}
echo "#########" >> ${LOG}
echo "File ${DFILE} FTP Operation starting at: " >> ${LOG}
echo ${TODAY} >> ${LOG}
echo "#########" >> ${LOG}
echo " " >> ${LOG}
echo Files to be retrieved from Remote System: >> ${LOG}
echo ${DFILE} >> ${LOG}
echo Oracle Environment: >> ${LOG}
echo ${ORACLE_SID} >> ${LOG}
echo "Bin directory (BINDIR): " >> ${LOG}
echo ${BINDIR} >> ${LOG}
echo " " >> ${LOG}
##
## Connect to Source System and Retrieve PCNODE file.
HOST="sscprd.testing.com"
USER="ficoftp"
sftp ${USER}@${HOST} << EOF >> ${LOGDIR}/sftp_testing.logfile
  cd ../
  cd FTPOUT
  get ${DFILE}
  quit
EOF

echo " " >> ${LOG}
echo "#########" >> ${LOG}
echo FTP Operation Complete. File Listing: >> ${LOG}
echo "#########" >> ${LOG}
ls -lrt >> ${LOG}
echo " " >> ${LOG}
echo "###" >> ${LOG}
echo "Number of records in retrieved file: "`wc -l < ${DFILE}` >> ${LOG}
echo "###" >> ${LOG}
echo " " >> ${LOG}
echo " " >> ${LOG}
echo "#########" >> ${LOG}
TODAY=`date "+DATE: %m/%d/%y TIME: %H:%M:%S %p"`
echo ${TODAY} >> ${PAGERLOG}
echo "sftp_testing.JOB ending at: " >> ${LOG}
echo ${TODAY} >> ${LOG}
echo "#########" >> ${LOG}
cat ${LOG} > ${LOGDIR}/sftp_testing.shlog
mailx -s "sftp_testing Job: ${ORACLE_SID}" `cat ${HOMEDIR}/patrick_mail_list.txt` < ${LOGDIR}/sftp_testing.shlog
echo sftp_testing JOB COMPLETE.

Again, the problem is that the sftp command in the sftp_testing.job script is not able to connect to the remote server when the script is started by cron. If I start it from the command line of the prodid account it connects to the remote server with no trouble.

Note about the sftp command: I do not have to enter a password for sftp. The command to establish the connection with the remote server is sftp user@remote_server.

Many Thanks,
Patrick
 

10 More Discussions You Might Find Interesting

1. Solaris

SFTP errorcode 1 when run on cron but runs manually

I am trying to run a sript on cron to SFTP data to a company. Private and public keys are set up. When I run this manully it works fine, however it was failing when run on cron. I have narrowed down the problem - it fails at the code that says if the error code is 0 then continue . . . I... (2 Replies)
Discussion started by: Heidi.Ebbs
2 Replies

2. Shell Programming and Scripting

SFTP not working in cron

Hi, I have a simple script that is trying to put a file that resides on a local machine to a remote machine. It runs fine manually but does not complete when scheduling to run in cron. Here is what the script looks like. Any idea what I am doing wrong here? #!/bin/ksh cd /path sftp... (4 Replies)
Discussion started by: ewilson0265
4 Replies

3. Solaris

SFTP not exiting when run from cron

I am using a script to transfer a file from a unix host to another unix host. The code snippet for sftp in the script is as below. sftp -oIdentityFile=$ID_FILE_NAME -oNumberOfPasswordPrompts=0 $REMOTE_USERID@$REMOTE_HOST <<EOF cd incoming put $REPORT_FILE... (2 Replies)
Discussion started by: msabhilash
2 Replies

4. UNIX for Dummies Questions & Answers

sftp in cron

Hi, I am running simple script to automate sftp transfer to remote box. I have setup public/private keys to have sftp connect automatically and have test script that list remote directory: #!/bin/ksh echo "OK, starting now..." sftp userid@host <<EOI cd dir ls -lt bye EOI... (2 Replies)
Discussion started by: r1omen
2 Replies

5. UNIX for Dummies Questions & Answers

Unable to sftp with cron (once more time...)

Hi, I have been searching for older posts and I've found many entries with identical problems, but I was not able to find the solution (or when I thought I found it, my trial didn't worked :(). Anyway, here is my question. I wrote a sftp.sh file that runs perfect from command line. It uses scp... (6 Replies)
Discussion started by: Kronos
6 Replies

6. UNIX for Dummies Questions & Answers

Problem automating sFTP transfer using script in cron

Hi Newbie here I am having problems with automating sFTP transfers. Just to save time - SCP is not an option as sFTP is stipulated by controllers of far end server. Ineed to automate sFTP transfer of a single file, once a day to a remote server to which i have no control over. I am using:... (6 Replies)
Discussion started by: robbien
6 Replies

7. Shell Programming and Scripting

Script is not working from cron while working manually

Hello, I am facing a very strange problem when I run my script manuallu ./Fetchcode which is using to connect with MKS integrity from linux end it workks fine but when I run it from cron it doesn't work.Can someone help me 1) How could I check my script when it is running from cron like... (3 Replies)
Discussion started by: anuragpgtgerman
3 Replies

8. Shell Programming and Scripting

Script not working in cron but working fine manually

Help. My script is working fine when executed manually but the cron seems not to catch up the command when registered. The script is as follow: #!/bin/sh for file in file_1.txt file_2.txt file_3.txt do awk '{ print "0" }' $file > tmp.tmp mv tmp.tmp $file done And the cron... (2 Replies)
Discussion started by: jasperux
2 Replies

9. Shell Programming and Scripting

sftp autologin is working but ...

Dears, I am new to linux scripting and I was look for a way to auto login to a server using sftp to download a file. I found one and it is working fine. But i don't know the meaning of <<EOF in the code. Any one explain it to me: #!/bin/sh HOST=yourservername USER=yourusername ... (1 Reply)
Discussion started by: torabi
1 Replies

10. Shell Programming and Scripting

Mget with SFTP is not working

hi Team, I am connecting from one (A) linux server to another(C)/any linux server by sftp on A linux server: sftp userid@C password: mget is Not working fine I am using mget to pull the files. it shows mget as invalid command. But from (B) Linux server to (C) /to Any server Linux... (15 Replies)
Discussion started by: johnsnow
15 Replies
queuedefs(4)							   File Formats 						      queuedefs(4)

NAME
queuedefs - queue description file for at, batch, and cron SYNOPSIS
/etc/cron.d/queuedefs DESCRIPTION
The queuedefs file describes the characteristics of the queues managed by cron(1M). Each non-comment line in this file describes one queue. The format of the lines are as follows: q.[njobj][nicen][nwaitw] The fields in this line are: q The name of the queue. a is the default queue for jobs started by at(1); b is the default queue for jobs started by batch (see at(1)); c is the default queue for jobs run from a crontab(1) file. njob The maximum number of jobs that can be run simultaneously in that queue; if more than njob jobs are ready to run, only the first njob jobs will be run, and the others will be run as jobs that are currently running terminate. The default value is 100. nice The nice(1) value to give to all jobs in that queue that are not run with a user ID of super-user. The default value is 2. nwait The number of seconds to wait before rescheduling a job that was deferred because more than njob jobs were running in that job's queue, or because the system-wide limit of jobs executing has been reached. The default value is 60. Lines beginning with # are comments, and are ignored. EXAMPLES
Example 1: A sample file. # # a.4j1n b.2j2n90w This file specifies that the a queue, for at jobs, can have up to 4 jobs running simultaneously; those jobs will be run with a nice value of 1. As no nwait value was given, if a job cannot be run because too many other jobs are running cron will wait 60 seconds before trying again to run it. The b queue, for batch(1) jobs, can have up to 2 jobs running simultaneously; those jobs will be run with a nice(1) value of 2. If a job cannot be run because too many other jobs are running, cron(1M) will wait 90 seconds before trying again to run it. All other queues can have up to 100 jobs running simultaneously; they will be run with a nice value of 2, and if a job cannot be run because too many other jobs are running cron will wait 60 seconds before trying again to run it. FILES
/etc/cron.d/queuedefs queue description file for at, batch, and cron. SEE ALSO
at(1), crontab(1), nice(1), cron(1M) SunOS 5.10 1 Mar 1994 queuedefs(4)
All times are GMT -4. The time now is 05:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy