如果是两台Linux机器之间传输文件,可以用ssh+rsync.
假如机器A的IP地址是192.168.1.15, 机器B的IP地址是192.168.1.16. 从机器A备份/home/user1/data, 到机器B的/backup/data, 在机器A运行这个命令:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /home/user1/data 192.168.1.16:/backup/
用户user1必须有读写权限在/backup, 能够登陆机器B用ssh。
这个命令不删除那些在机器A上/home/user1/data已经删除的文件。
如果需要保持百分百的一致,命令加"--delete":
rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /home/user1/data 192.168.1.16:/backup/
命令太长,可以写个小脚本sync_data.sh.
#!/bin/bash
rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /home/user1/data 192.168.1.16:/backup/
用过远程软件向日葵和anydesk,自带的传输文件功能都比较傻,不支持类似增量备份的概念,要么覆盖要么跳过,对很多文件/文件夹续传就比较麻烦了。还是传统ftp比较方便,比如filezilla或者win下面的flashfxp,传输文件比较智能,文件一样大的就跳过,不一样大的就覆盖。
那么,两台电脑间,没有公网ip,大家一般怎么设置ftp服务器的,以前在win下面是serv-U,linux下面用啥一般?