本站有闲置空间

rsync常用命令

2020-3-30 tomeqiu 技术原创

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

rsync功能 
作为命令,实现本地-远程文件同步

作为服务,实现本地-远程文件同步

rsync特点  
可以镜像保存整个目录树和文件系统,可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等。
传输效率高,使用同步算法,只比较变化的部分。

支持匿名传输,方便网站镜像;也可以做验证,加强安全。

rsync同类服务 
sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。

rsync 远程同步:remote synchronous

脚本举例(需要先配置ssh免密登录):

#!/bin/bash

vip="192.168.80.13"                        #虚拟IP,表示以存在虚拟IP的服务器为源,同步远程服务器
dstip="192.168.80.12"
basedir="/www"
count=`/usr/sbin/ip a |grep $vip |wc -l`   #判断虚拟机IP是否存在

if [ $count = 1 ]; then
    rsync -a --delete /var/ftp/ $dstip:/var/ftp/      #a 表示归档,即保留文件原属性,比如创建时间,属主等
    rsync -a --delete $basedir/wwwroot/ $dstip:$basedir/wwwroot/  #delete 表示删除目标目录多余的文件,用来保证和源目录一致
    rsync -a --delete $basedir/server/pure-ftpd/etc/ $dstip:$basedir/server/pure-ftpd/etc/   #相当于是个简单的防篡改
else
    exit 1
fi

定时执行

*/1     *       *       *       *       /root/rsync.sh   #表示每分钟执行一次

标签: rsync

发表评论:

Powered by emlog  数据库调用 6次 加载耗时 25.34mssitemap
Free Web Hosting