954,136 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

After my script does ftp, it can't delete the files - URGENT

Hi,

I have a script which uploads files successfully to another server via ftp. But after the files are uploaded, I want them to be deleted (removed), but it doesn't seem to work. I would appreciate if someone could help me out with this. How can I modify my script so that the uploaded files will be deleted after the ftp session?

Here's the script:

#!/bin/sh
cd /opt.../logs

Server="xx.xx.xx.xx"
Username="sonya"
Password="s2525"

DstDir="/files/son"

ftp -n $Server <


Thanks a lot,
Sonya

sonya2525
Newbie Poster
19 posts since Jul 2006
Reputation Points: 10
Solved Threads: 0
 

change

mput "go*"
bye
rm go*
End-of-session
exit 0

to

mput "go*"
bye
End-of-session
rm go*
exit 0


Because the rm go* is being fed to the ftp command (everything up to "End-of-session" is being fed to the ftp command), but the ftp session ended at "bye", and if it hadn't you would have removed the files on the remote machine (if anywhere). That's why you move that command down after the "End-of-session" line.

masijade
Industrious Poster
Moderator
4,253 posts since Feb 2006
Reputation Points: 1,471
Solved Threads: 494
 

Hi,
Thanks a lot. I did as you said, and I also put the complete path, so instead of rm go* I used rm /..../go* and it worked!

Thanks again.
Sonya

sonya2525
Newbie Poster
19 posts since Jul 2006
Reputation Points: 10
Solved Threads: 0
 

Hi,

I made a mistake by including the rm before the ftp session just to check if my file can be deleted, so i thought your solution works. But when i tried your solution, i still wasn't able to delete the file. I included the path as well, still couldn't delete. Sorry for the mistake... but i really can't figure out why it won't be deleted..??


Thanks,

Sonya

sonya2525
Newbie Poster
19 posts since Jul 2006
Reputation Points: 10
Solved Threads: 0
 

I just noticed something, you use

ftp -n $Server <<End-of-Session
......
End-of-session


Those two tags don't match. That "End-of-(S/s)ession tag needs to be written exactly the same in both places.

masijade
Industrious Poster
Moderator
4,253 posts since Feb 2006
Reputation Points: 1,471
Solved Threads: 494
 

use rm -f if you want forced delete

something like rm -Rf / will just destroy everything :D

DimaYasny
Posting Virtuoso
Moderator
1,777 posts since Jan 2007
Reputation Points: 183
Solved Threads: 89
 

Just a quick thought: If you use a path, also, it's best to make it absolute (/opt/whatever/go) rather than relative (../go) otherwise changes in your script could change where you try to delete the files from; assuming it's a constant.

, Mike

eggi
Posting Pro in Training
400 posts since Oct 2007
Reputation Points: 102
Solved Threads: 47
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You