ckle流FTP连接

时间:2018-12-11 09:53:40

标签: bash ftp trickle

我有一个用于备份数据的脚本。最后一行是:

echo "$FTPConnectstring
$FTPCommands
bye" | ftp -ivn

效果很好,但我希望我可以“ tri”一下(即限制上传带宽的使用)。 我尝试了许多这样的命令行:

echo "$FTPConnectstring
$FTPCommands
bye" | ftp -ivn | trickle -s -u 4096

但是ftp传输似乎没有带宽使用限制地执行 我也尝试过这样的事情

FinalCommand=$(echo -e "$FTPConnectstring\n$FTPCommands\nbye")
trickle -s -u 4096 ftp -ivn ${FinalCommand}

但是这个不能正确连接ftp ...

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

在您的第一次尝试中,您仅trickleftp的标准输出(取决于实现,甚至可能只是进度消息)。第二次尝试,您遇到语法错误; ftp的参数应该是主机名,而不是命令序列。尝试以下方法:

echo -e "$FTPConnectstring\n$FTPCommands\nbye" |
trickle -s -u 4096 ftp -ivn

如果ftp二进制文件是静态链接的,则trickle无法覆盖其套接字处理内部;但是在那种情况下,您可能可以切换到其他FTP客户端,例如ncftp,在使用脚本时也应该表现更好。