0

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

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...

任何帮助表示赞赏!

4

1 回答 1

0

在您的第一次尝试中,您只有trickle标准输出ftp(取决于实现,可能只是进度消息,如果有的话)。在您的第二次尝试中,您遇到了语法错误;to 的参数ftp应该是主机名,而不是命令序列。试试这个:

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

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

于 2018-12-11T10:19:00.183 回答