在工作中,可能会经常在多台服务器上进行文件上传下载, 如果一台服务器还好,如果是10 台服务器的话,那么我们就应该考虑使用自动化脚本方式处理这些繁琐而没有技术含量的问题了。linux 提供了很多命令能实现,比如说scp ,但是很多命令都解决的一个问题是,不得不手工输入密码,如此一来就比较繁琐。后来,无意之中,笔者发现了lftp 命令,可以通过sftp 协议上传下载文件,而已可以自动输入密码,这样的话,就使得自动化脚本得以实现。
自动下载文件脚本示例
#!/bin/bash
#Desc lftp 下载文件
#Date 2017-01-22
v_host=xxx.xxx.xxx.xxx
v_user=root
v_pwd=root
lftp << EOF
open ${v_host}
user ${v_user} ${v_pwd}
cd /tmp
put lftp.sh
mget hello.txt
bye
EOF
echo "done..."