当存在来自不同来源的两个文件时,我需要启动一个命令。每个文件都可能在不同的时间到达,但我想在收到两者时触发命令。我试图用 incrond 来做,同时查看 IN_CLOSE_WRITE 和 IN_MOVED_TO 的两个目录
/dir/path1 IN_CLOSE_WRITE,IN_MOVED_TO command
/dir/path2 IN_CLOSE_WRITE,IN_MOVED_TO command
问题是:当第一个手表被触发时,如何等待第二个?
例如:
时间:12:05 UTC - File1 到达 Path1 命令正在等待 Path2 监视
时间:12:09 UTC - File2 到达 Path2 命令启动
该命令是用 Go 编码的,但我找不到任何对我有帮助的东西。
更具体地说,该系统的工作原理如下: 有两个远程服务器在 pcap 中记录数据,时间为 6 小时,时间相同。它们记录相同的信息,但来自不同的 VLAN。录制完成后,将它们上传到主服务器的两个不同目录。两个录音都需要上传才能比较和混合它们,丢弃重复的数据包。录音并不总是以相同的顺序上传,也不会同时到达。这取决于远程服务器和主服务器之间的通信。
文件名总是相同的模式:_yyyymmddTHHMMSS.pcap。例如,文件开始记录 2020-10-15 18:01:00:
文件1:vlan1_20201015T180100.pcap
文件2:vlan2_20201015T180100.pcap
我正在寻找与 incrond 和 bash 相关的解决方案或 Go 中命令中的解决方案。一个解决方案或一个线索,因为我目前处于停滞状态。