1
我正在做一个开源的rsync
管理器,需要能够从服务器端杀死客户端rsync进程。获取远程rsync PID?
现在,2个客户端将rsync
从服务器上传到clinet,客户端将rsync
命令发送到服务器并通过ssh密钥进行身份验证。
客户为例-1和客户端2两者:
rsync -zav [email protected]:/home/aaa .
服务器:
ps aux | grep rsync
root 6117 8.9 0.7 87524 60604 ? Ds 00:23 0:26 rsync --server --sender -vlogDtprz . /home/aaa
root 6339 8.6 0.6 87524 58792 ? Ds 00:23 0:25 rsync --server --sender -vlogDtprz . /home/aaa
问题是我需要知道哪个的pid对应于这些单独的客户端rsync命令。为了能够杀死他们,任何人都可以指出一些方向?
感谢您的回答,一个问题,如果$ client_ip在NAT后面,无论如何要做到这一点?我现在想在authorized_keys上做一些验证,试图将client_id注入参数。 – c2h2
应该可以使用端口转发并为每个客户端使用不同的端口号(请参阅rsync'--port'选项)。也许你甚至可以使用这些端口号来grep你感兴趣的客户端的PID(不使用上面的包装器)。 – perreal