Trickle FTP соединение
У меня есть скрипт для резервного копирования моих данных. Последняя строка:
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 правильно...
Любая помощь приветствуется!
1 ответ
В вашей первой попытке вы только trickle
стандартный вывод из ftp
(в зависимости от реализации, возможно, просто сообщения о прогрессе, если даже это). Во второй попытке у вас есть синтаксическая ошибка; аргумент ftp
должно быть именем хоста, а не последовательностью команд. Попробуйте это вместо:
echo -e "$FTPConnectstring\n$FTPCommands\nbye" |
trickle -s -u 4096 ftp -ivn
Если ftp
двоичный файл статически связан, trickle
не может переопределить его внутренности обработки сокетов; но в этом случае вы, вероятно, можете переключиться на другой FTP-клиент, такой как ncftp
который также должен вести себя лучше с помощью сценариев.