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)
在shell脚本中,用简单的二条命令,即可实现ftp上传文件到指定目录中的方法。
说明:
代码如下:
复制代码代码示例:
#!/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,保守的重定向输入流
重点如下的二句:
以下代码,可以方便设置上传目录 和 远程目录。供大家参考。
复制代码代码示例:
#!/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 |