在 sftp put 命令之间休眠

问题描述 投票:0回答:1

有没有办法使用

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
手册页,没有找到任何可以做到这一点的内容。

batch-file sftp wait
1个回答
2
投票

将命令通过管道传输到

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
© www.soinside.com 2019 - 2024. All rights reserved.