当前位置: > shell编程 >

ftp上传文件到目录中的shell脚本

时间:2014-09-30 22:41来源:linux.it.net.cn 作者:it
在shell脚本中,用简单的二条命令,即可实现ftp上传文件到指定目录中的方法。

说明:
上传目录为/home/zh/var。

代码如下:
 

复制代码代码示例:
#!/bin/bash 

sss=`find /home/zh/var -type d -printf '%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` 
aaa=`find /home/zh/var -type f -printf 'put %p %P \n'`
ftp -nv 127.0.0.1 <<EOF 
user kabc kabc 
type binary 
prompt 
$sss 
$aaa 
quit 
EOF

实现思路:
 

1,初始化上传目录结构
2,初始化目录之后就可以直接使用put命令上传文件了
3,主要还是使用ftp自身的命令
4,格式化输出(可看作是FTP的宏命令)
5,保守的重定向输入流

重点如下的二句:
1,sss=`find /home/zh/var -type d -printf '%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'`  
使用find找出目录结构,然后格式化输出,最后就是添加到FTP初始化目录结构。
2,aaa=`find /home/zh/var -type f -printf 'put %p %P \n'` 
使用find找出非目录文件,然后格式化输出,最后就是在初始化目录之后可以直接使用put上传文件。

以下代码,可以方便设置上传目录 和 远程目录。供大家参考。
 

复制代码代码示例:
#!/bin/bash

updir=/home/zh/var
todir=sk
sss=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` 
aaa=`find $updir -type f -printf 'put %p %P \n'` 
ftp -nv 127.0.0.1 <<EOF 
user kabc kabc 
type binary 
prompt 
$sss 
cd $todir 
$aaa 
quit 
EOF
 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容