我有一个用于备份数据的脚本。最后一行是:
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 ...
任何帮助表示赞赏!
答案 0 :(得分:0)
在您的第一次尝试中,您仅trickle
来ftp
的标准输出(取决于实现,甚至可能只是进度消息)。第二次尝试,您遇到语法错误; ftp
的参数应该是主机名,而不是命令序列。尝试以下方法:
echo -e "$FTPConnectstring\n$FTPCommands\nbye" |
trickle -s -u 4096 ftp -ivn
如果ftp
二进制文件是静态链接的,则trickle
无法覆盖其套接字处理内部;但是在那种情况下,您可能可以切换到其他FTP客户端,例如ncftp
,在使用脚本时也应该表现更好。