【发布时间】:2018-12-11 09:53:39
【问题描述】:
我有一个用于备份数据的脚本。最后一行是:
echo "$FTPConnectstring
$FTPCommands
bye" | ftp -ivn
效果很好,但我希望我能“涓涓细流”(即限制上传带宽使用)。 我尝试了很多这样的命令行:
echo "$FTPConnectstring
$FTPCommands
bye" | ftp -ivn | trickle -s -u 4096
但 ftp 传输似乎在没有 BW 使用限制的情况下执行 我也尝试过这样的事情
FinalCommand=$(echo -e "$FTPConnectstring\n$FTPCommands\nbye")
trickle -s -u 4096 ftp -ivn ${FinalCommand}
但是这个没有正确连接ftp...
任何帮助表示赞赏!
【问题讨论】:
-
正确的语法类似于
echo -e "$FTPConnectstring\n$FTPCommands\nbye" | trickle -s -u 4096 ftp -ivn,但如果ftp是静态链接的,这可能不会达到您的预期。 -
感谢您的评论。我应该明白我想要实现的目标是不可能的吗?
-
如果它不起作用,请尝试使用不同的 FTP 客户端,例如
ncftp,它应该也更容易编写脚本。如果您正在运行守护程序,也许可以尝试省略-s选项。 -
仅供参考:ldd $(which ftp) | grep libc.so 返回 libc.so.6 => /lib64/libc.so.6... 正如预期的那样处理涓流。我尝试了你的建议,结果是一样的,没有应用 BW 限制...