我有一个 bash 脚本,它通过 复制“to_send”目录中的所有文件到远程服务器scp
。该脚本scp
对每个文件运行命令,检查返回代码,如果成功,则将本地版本从 to_send 目录移动到“sent”目录。如果不成功,文件将保留在“to_send”目录中,准备在下次运行脚本时尝试发送。
使用scp
URL 和非标准端口号通过互联网连接发送。我遇到一个问题,如果无法连接到远程服务器,则该scp
命令的每个实例都需要大约两分钟来确定无法连接。如果只有一个文件要发送,这不是一个可怕的开销,但如果有多个文件要发送,就会造成问题。
有没有办法限制连接尝试持续的时间?也许可以ssh
通过将选项传递给 来限制连接尝试持续的时间?-o
scp
答案1
您可以传递 SSH 选项,例如-o ConnectTimeout=10
10 秒后超时。
但如果您要复制多个文件,rsync
可能值得一看。并且您可能会将其用作--contimeout 10
命令rsync
。