Hello -
I have a production stream that is scheduled with cron to run each Monday morning. The jobs in the stream perform tasks including
FTP get, load to a DB table, and report processing.
About a month ago I was directed to begin using sftp in these jobs and since then the jobs scheduled with cron no longer work. Each fails when attempting to connect via sftp to the remote server. If I run the
job from the command line of the owning account it will work fine.
I believe that the problem basically is that the cron owner does not have the priviledges necessary to perform the sftp connect.
I have tried the following steps to get this to work:
1) Created a cron schedule file (prodid_crontab.txt) under the job owner's account (prodid).
2) Directed the cron daemon to use the prodid_crontab.txt schedule file by issuing the command:
crontab < prodid_crontab.txt
3) Tested this and verified that the cron is using prodid_crontab.txt
The job still failed to establish an sftp connection. So I tried granting execute on the prodid_crontab.txt file just to make sure, and the sftp job step continues to fail.
Remember, cron runs things with a very minimal PATH. You may want to use absolute paths for any executables you call, or set a better PATH yourself, or perhaps source /etc/profile
Thank you for the replies. I want to mention that I sudo'd to the job's home directory for everything that I've tried. I do not have the authority to login directly to the prodid account.
Here is my crontab schedule:
As it is set up, The sftp command does not currently require a passphrase. I don't have a good knowledge of how the server were modified to enable sftp.
I also tried using an absolute path (ie: crontab < /home/prodid/prodid_crontab.txt) but the sftp command is still unable to connect to the remote system when cron executes it.
Can we see the contents of /home/sadeadm/data/LMC/accept/WeeklyLabor/sql_loader/sftp_testing/sftp_testing.job? Also, are you asked for a password for the remote account when you run the command interactively?
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:
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.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)