今天有个任务是要拿取本地局域网的某个文件夹,打包后经过外网linux服务器传输到正式服的ftp文件夹的功能。
其实是一个简单的功能,python走起。
建立一个zone.txt,配置ftp的用户名、密码、IP、端口、获取版本的路径、放置的路径
然后python读取配置到table里。
将资源从局域网中打包上传到外网服务器。
紧接着调用putty的PLINK.EXE 使用私钥登录外网服务器,然后调用shell脚本传输。
看似简单的东西,对我这个新手来说却着实弄了半天,第一次是因为python的一个判断。
我的zone.txt中的第一行是注释,所以进行了如下判断 if zone.find("#") != -1:continue
结果每次都执行到这里读不出判断,后发现zone.txt 中用户的密码居然包含"#"。
后将判断改成 if zone.find("#") == 1:continue,正确。
而后由于本人对shell中调用ftp不是很熟悉,导致如下代码一直出错:
ftp -n << EOF
open $1 $2
user $3 $4
put $5
bye
EOF
结果每次执行均报错:(wanted EOF)
查询多次,未果。。 最后发现EOF的结尾格式必须要顶格才行。
遂将EOF写与最前端,执行成功。
此中错误望大家引以为戒。