Linux数据备份
rsync从字面意思理解为remote sync(远程同步)。rsqnc不仅可以远程同步数据,当然还可以本地同步数据,rsync不像cp/scp一样会覆盖以前的数据(如果数据存在),它会判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉。
如果你的Linux没有rsync命令,安装:# yum install -y rsync
●[root@localhost ~]# rsync -av sync.txt /tmp
sending incremental file list
rsync: link_stat "/root/sync.txt" failed: No such file or directory (2)
sent 18 bytes received 12 bytes 60.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]
上面的例子表示把当前目录下的sync.txt同步到/tmp/目录下,也可以更改目标文件的名字,rsync -av sync.txt /tmp/newsync.txt,
●如果是远程拷贝的话就是这样的形式了:IP:path(如:10.0.2.34:/root/)
[root@localhost ~]# rsync -av sync.txt 192.168.200.10:/tmp/newsync.txt
root@192.168.200.10's password:
sending incremental file list
rsync: link_stat "/root/sync.txt" failed: No such file or directory (2)
sent 18 bytes received 12 bytes 5.45 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]
●rsync的命令格式
rsync [OPTION]… SRC DEST
rsync [OPTION]… SRC [USER@]HOST:DEST
rsync [OPTION]… [USER@]HOST:SRC DEST
rsync [OPTION]… [USER@]HOST::SRC DEST
rsync [OPTION]… SRC [USER@]HOST::DEST
●rsync常用选项
-a:归档模式,表示以递归方式传输文件,并保持所有属性
-r :对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项
-v: 打印一些信息出来,比如速率,文件数量等
-l :保留软链结
-L: 向对待常规文件一样处理软链结,如果是SRC中有软连接文件,则加上该选项后将会把软连接指向的目标文件拷贝到DST
-p: 保持文件权限
-o :保持文件属主信息
-g :保持文件属组信息
-D :保持设备文件信息
-t :保持文件时间信息
–delete :删除那些DST中SRC没有的文件
–exclude=PATTERN: 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
–progress :在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等
-u :加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖
常用的选项页仅仅那么几个: (-a -v --delete --exclude), 请熟记他们吧。