rsync 传输时对端已有同名文件
时间: 2023-08-01 17:07:24 浏览: 79
当使用 rsync 传输文件时,如果对端已经存在同名文件,rsync 会根据一些规则来判断该如何处理这个文件。默认情况下,rsync 会比较源文件和目标文件的时间戳和文件大小,如果两者都相同,则认为文件内容也相同,不会再次传输文件。
如果你希望强制传输文件,可以使用 `--ignore-times` 选项来忽略时间戳比较,或者使用 `--checksum` 选项来比较文件的校验和。
如果你希望保留对端的同名文件,可以使用 `--keep-existing` 选项。
如果你希望覆盖对端的同名文件,可以使用 `--overwrite` 或者 `--update` 选项。其中,`--overwrite` 选项会直接覆盖对端文件,而 `--update` 选项只会在源文件更新时才覆盖对端文件。
相关问题
rsync桌面文件传输
rsync是一种远程同步命令,可以用于在本地和远程计算机之间传输文件。它可以通过ssh协议进行加密传输,也可以通过rsync协议进行非加密传输。rsync可以快速地传输大量文件,并且可以在传输过程中断后恢复传输。在桌面文件传输中,可以使用rsync命令将本地文件同步到远程计算机或者将远程计算机上的文件同步到本地计算机。需要注意的是,rsync默认会忽略文件属性、链接文件、设备文件等,如果需要同步这些文件,需要使用相应的参数进行配置。
rsync从远端定时备份文件到本地
可以使用crontab和rsync命令来实现从远端定时备份文件到本地。具体步骤如下:
1.在本地创建一个用于存储备份文件的目录,例如/home/bak。
2.使用ssh-keygen命令生成公钥和私钥,将公钥复制到远程服务器上。
3.在本地使用crontab -e命令编辑定时任务,例如每天凌晨3点备份一次,编辑内容如下:
```
0 3 * * * rsync -av -e 'ssh -p22' root@192.xx.xx.xxx:/home/rsbak/ /home/bak/
```
其中,0 3 * * *表示每天凌晨3点执行,rsync命令用于备份文件,-av表示以归档模式备份,-e 'ssh -p22'表示使用ssh协议连接远程服务器,并指定端口为22,root@192.xx.xx.xxx:/home/rsbak/表示远程服务器上要备份的文件路径,/home/bak/表示本地存储备份文件的路径。
4.保存并退出crontab编辑界面,定时任务即可生效。