首页 > 解决方案 > bash:写入后立即移动新文件

问题描述

我正在尝试编写一个 bash 脚本来将文件从源移动到目标,以节省源磁盘上的空间(源和目标是两台不同的机器)。

我可以使用 scp 协议处理移动部分,但问题是我使用的软件非常快速地写入了很多文件(幸运的是每个文件都有相同的扩展名),我想尽快移动文件是写的。

因此,在源目录中,我想:

...直到软件停止在源上写入新文件。

有什么帮助吗?

先感谢您。

标签: bashloopsmove

解决方案


这是一份工作inotifywait

inotifywait -meclose_write . |
while read d e f
do
    echo Now is the time to move "$f".
done

当然,您可以指定任何源目录而不是..


推荐阅读