在unix中从server1到server2的ftp文件

时间:2009-08-17 19:51:11

标签: unix ftp shell

我是一个shell脚本菜鸟。

我目前有一个每15米运行一次的cronjob并检查文件是否存在。

如果存在,则接受文件和进程,然后将其删除

现在,我没有删除它,而是想复制并将其ftp到Server2

下面的

是删除脚本。我想修改它,以便它制作文件的副本,然后ftps'它到server2

rm -f /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc

5 个答案:

答案 0 :(得分:2)

如果你没有设置在ftp上,我实际上只是使用scp。

scp /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc username@server:/path/to/dest

答案 1 :(得分:1)

我会使用rsync:

THETIME=`date "+%Y-%m-%d_%H-%M-%S"`
rsync -avz -e ssh remoteuser@remotehost:/remote/dir/WPER594_COMPANY.$THETIME.CSV.proc /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc
rm -f /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc

答案 2 :(得分:0)

查看ncftpput和ncftp包。它非常适合脚本化的ftp。

http://www.ncftp.com/

答案 3 :(得分:0)

您可以通过以下方式通过脚本执行FTP:

ftp -n $serverName <<!
verbose
ascii
quote user $username
quote pass $password
cd $targetdir
put $filename
quit
!

以上假设您已在脚本中设置以$ before开头的变量。感叹号之间的内容需要根据您想要做的事情进行更改 - 是ascii传输还是二进制传输等 - 但希望您能得到这个想法。

答案 4 :(得分:0)

我会说命令行putty(或PSFTP)将是要走的路。这是因为它通过SSH端口22打开隧道,并使用常规的FTP协议控制。这将是最简单的。关于它的困难之处在于你必须编译源代码才能获得PSFTP二进制文件,但是一旦你开始做生意。

http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

它是SCP的替代品,但实际上SCP可能更容易,因为Linux系统通常是预安装的。