我需要在几台远程机器上读取和写入多个文件。主要使用java,shell也可以。
首先,我想ssh到远程机器和读/写文件,并使用Channel.lock()
来锁定文件。但我发现很难实现......
然后,我有另一种方式:
对于每个远程文件,例如FileA,预先在远程计算机上提供shell脚本,例如changFileA.sh。
因此,我可以并发执行任务。每项任务都包含以下信息。
machineIp, filePath, changeScriptPath, changeParam
但问题是,同时修改同一个文件会有多个任务。
我怎么能锁定它?只允许一个线程修改同一个文件?
谢谢。