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