我正试图编写一个bash脚本,将文件从源移动到目标,以节省源磁盘上的空间(源和目标是两台不同的机器(。
我可以使用scp协议来处理移动部分,但问题是我使用的软件写很多文件的速度很快(幸运的是,每个文件都有相同的扩展名(,我想在写完文件后立即移动它。
所以,在源目录中,我想:
- 移动目标上的文件
- 从源中删除文件
。。。直到软件停止在源上写入新文件。
有什么帮助吗?
提前谢谢。
这是inotifywait
的作业。
inotifywait -meclose_write . |
while read d e f
do
echo Now is the time to move "$f".
done
当然,您可以指定任何源目录,而不是.
。