我有一个备份数据的脚本。最后一行是:
echo "$FTPConnectstring
$FTPCommands
bye" | ftp -ivn
它工作得很好,但我希望我能"涓涓细流"(即限制上传带宽的使用(。我试过很多这样的命令行:
echo "$FTPConnectstring
$FTPCommands
bye" | ftp -ivn | trickle -s -u 4096
但是ftp传输似乎没有BW使用限制我也试过这种
FinalCommand=$(echo -e "$FTPConnectstringn$FTPCommandsnbye")
trickle -s -u 4096 ftp -ivn ${FinalCommand}
但是这个没有正确连接ftp。。。
感谢您的帮助!!
在第一次尝试中,您只trickle
ftp
的标准输出(取决于实现,可能只是进度消息,如果有的话(。在第二次尝试中,出现语法错误;ftp
的参数应该是主机名,而不是命令序列。试试这个:
echo -e "$FTPConnectstringn$FTPCommandsnbye" |
trickle -s -u 4096 ftp -ivn
如果ftp
二进制文件是静态链接的,则trickle
不能覆盖其套接字处理内部;但在这种情况下,您可能可以切换到不同的FTP客户端,如ncftp
,它在脚本编写方面也应该表现得更好。