rsync常用命令
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
« PHP目录文件查找
|
Docker 常用命令»
发表评论: