有没有办法使用
sftp
命令执行 -c
并在文本文件中指定等效的 sleep
命令以在两个 put
命令之间等待?
我有一个批处理文件,可以 sftp 并执行一些
put
命令。我希望进程在执行几个 put
命令后等待 5 分钟。
sftp -b commands.txt ..
在
commands.txt
我想要:
put abc.txt
wait 5 mins
put xyz.txt
最坏的情况我可以将它在我的批处理文件中分成两个txt文件,但想知道是否有更简单的方法,这样我就没有额外的文件需要维护。浏览了
sftp
手册页,没有找到任何可以做到这一点的内容。
将命令通过管道传输到
sftp
。这允许您使用 shell sleep
命令。
(
echo put abc.txt
sleep 5m
echo put xyz.txt
) | sftp -b - [email protected]
您当然也可以在两个单独的
sftp
命令之间休眠。特别是,5分钟这么长的停顿,同时连接中断的可能性是不可忽略的。
echo put abc.txt | sftp -b - [email protected]
sleep 5m
echo put xyz.txt | sftp -b - [email protected]
在 Windows 上,将
sleep 5m
替换为:
timeout /t 300 > nul