【发布时间】:2019-12-27 14:44:03
【问题描述】:
我需要在bash/python 中编写一个脚本到scp 到达给定文件夹的最新文件。也就是说,我不断地将文件放入一个文件夹中,比如说(/home/ram/Khopo/)我需要将它scp 到@ 987654326@/home/xxx/khopo/。
我用谷歌搜索得到了这个结果
file_to_copy=`ssh username@hostname 'ls -1r | head -1'`
echo copying $file_to_copy ...
scp username@hostname:$file_to_copy /local/path
但我想知道是否可以这样做,使其仅在新文件夹到达源(/home/ram/Khopo/)时运行并等待文件到达文件夹并在到达时立即执行
【问题讨论】:
-
Linux 应该有看门狗系统,它可以让您在发生变化时观察文件夹/文件执行功能 - 使用它的 python 模块watchdog。如果系统没有看门狗,那么您可以使用无限循环,在其中检查文件夹并在没有更改时休眠。
-
如果您想监控远程目录,那么
rsync是一个很棒的工具,但是您必须连续运行才能监控该目录。如果您有可能在远程机器上运行脚本,请在此处查看ionotifywait:superuser.com/questions/956311/…