我有一个网页,目前从用户那里上传并将其存储到目录(/upload)中。[基于Linux的服务器]
我正在寻找一种方法,而不是将其存储在服务器上/该目录中,而是将文件传输到本地计算机上。[运行 Ubuntu 12.04]
假设我已经设置了公钥/私钥,我该怎么做呢?
目前的想法:
- ftp传输
- rsync
想法:
1)停止在服务器上运行任何东西,并将每个字节转发到您的本地盒子。只需运行ssh -N -R :8080:localhost:3000 remote.host.com
这将允许任何人访问http://remote.host.com:8080
并获取您的端口 3000。(如果您使用端口 80,则需要以 root 身份登录 SSH。)性能会有点差,而且不会那么可靠。但是对于同时在线的实时传输可能没问题。
2)使用 inotifywait 观察服务器上的上传目录,并rsync
从服务器触发到您的本地盒子。(需要将您的盒子的 SSH 端口公开。)如果您有时会删除文件,请改用unison
双向文件同步。(虽然统一不适用于长文件名或大量文件。)
3) 让系统保持原样,然后在本地机器上从 cron 运行 rsync。(好吧,不是实时的。)
当然,大多数人只是使用 dropbox 或类似的。Alghough