最近编程中用到sftp上传文件,且需要用crontab预设定时上传事件。而sftp不同于ftp,没有提供选项如 -i 可以将密码直接编码进程序。使用sftp指令,会自动请求用户输入密码。
lftp方式
- #!/bin/sh
- HOST=172.16.2.X
- USER=kg_sftp
- PASS=tnzk4a7w
- echo "Starting to sftp..."
- lftp -u ${USER},${PASS} sftp://${HOST} <<EOF
- cd /kagou/datafile
- mget *.*
- bye
- EOF
- echo "done"