Linux下的SFTP的automatic自动运行script脚本

开始研究Linux下的自动上传脚本。

UPDATE:2014.3.10.已验证,使用密钥最好,

只能突出一个吐血{

ftp端口被封,而且linux服务器上不一定装了ftp。

服务器数量很多,只能从服务器端上传至日志服务器(使用的freesshd搭建sftp服务器,感觉还不错)。

服务器数量很多,不能随便安装包。

}

重点在于“自动化”三个字。即非交互式密码认证。

自动化的方式有很多,鉴于本人是菜鸟,什么Python,c,ruby之类的都不会。%>_<%。。。

根据现有batch经验,还是从自动化的ftp入手。

ftp被禁掉了。。

还有与ssh共存的sftp,而且公司统一都用ssh登陆linux服务器,所以服务器上一般都装有sftp。

ftp有s参数,自动读取文本内容,执行文件中的命令。

恩,研究了一下sftp也有-b参数,运行batchfile。

擦!!然后就卡在这里了,-b参数赫然写到只能运行cmd命令而不能进行密码自动认证,想要避免输入密码就必须要使用ssh的publickey秘钥认证啊!!

经过了多次度娘和谷歌的查找,现想到方法如下:

1、安装lftp,网上已经有大量lftp结合sftp进行自动密码认证的脚本

附:

lftp -u $USERNAME,$PASSWORD sftp://$HOST <<EOF

cd $SFTPBACKUP

put $BACKUP/$DataBakName

bye

EOF

2、set up private key,激活秘钥自动登录。

3、expect工具。

4、sftp服务器端不知道可不可做匿名登录,还在研究。。

5、其实不嫌难看的话,使用mount -t cifs 挂载windows共享目录的方式,然后直接cp命令拷贝过去也不错。但是需要安装cifs的一个包。

感觉1和2最靠谱。。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e338b76225b7051ca2eaca63668ebd78.html