不管是建站还是跑代码,数据永远是最重要的东西,做好备份一定是第一要义。今天老王就向大家介绍Linux下的一个命令:rsync,借助rsync可以非常方便的实现VPS之间的数据同步,从而达到备份VPS数据的目的。
rsync介绍
rsync是Unix下的一款应用软件,它能同步两个VPS的文件与目录,并适当利用差分编码以减少数据传输量。rsync中的一项同类软件不常见的重要特性是每个目标的镜像只需发送一次。rsync可以拷贝/显示目录内容,以及拷贝文件,并可选压缩以及递归拷贝。
rsync参数
常用的rsync参数包括:
-v :展示详细的同步信息 -a :归档模式,相当于 -rlptgoD -r :递归目录 -l :同步软连接文件 -p :保留权限 -t :将源文件的"modify time"同步到目标机器 -g :保持文件属组 -o :保持文件属主 -D :和--devices --specials一样,保持设备文件和特殊文件 -z :发送数据前,先压缩再传输 -H :保持硬链接 -n :进行试运行,不作任何更改 -P same as --partial --progress --partial :支持断点续传 --progress :展示传输的进度 --delete :如果源文件消失,目标文件也会被删除 --delete-excluded :指定要在目的端删除的文件 --delete-after :默认情况下,rsync是先清理目的端的文件再开始数据同步;如果使用此选项,则rsync会先进行数据同步,都完成后再删除那些需要清理的文件。 --exclude=PATTERN :排除匹配PATTERN的文件 --exclude-from=FILE :如果要排除的文件很多,可以统一写在某一文件中 -e ssh :使用SSH加密隧道传输
rsync备份VPS数据实例
当然rsync支持本地问文件同步,如下:
rsync -avH /etc/data/ /tmp/desc/
不过今天要向大家介绍的是不同VPS之间的数据同步,例如你有一台VPS,想把这台VPS上的/etc/data.zip备份到另一台VPS上的/root/backup目录下(用户:root,IP:44.44.44.44),那么你只需要在工作VPS上执行以下命令:
rsync -avP /etc/data.zip root@144.44.44.44:/root/backup
之后输入备份VPS的SSH密码即可完成数据同步。
如果你不想每次同步都输入密码,那么就配置SSH key就行,具体教程参考:Linux VPS生成SSH公钥,配置SSH公钥免密登陆。