我们在运维服务器的时候应该会用到同步命令,比如服务器内部文件的迁移和服务器之间文件的切换。比如常见的有scp和rsync、cp 、mv是我们常用的。那到底这些命令之间有什么区别呢?
第一、几个常用命令的含义
1、cp 命令
cp命令是将给出的文件或目录拷贝到另一文件或目录中。
2、mv命令
用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中。
3、scp
用于远程的文件的复制,比如服务器之间文件传输。相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。
4、rsync
用于Linux系统下的数据镜像备份工具,远程服务器之间的文件拷贝。如果有重复的文件,会直接跳过,效率比较高。
第二、梳理rsync命令的用法
命令参数:
-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩
常用案例示范:
1、拷贝本地文件
rsync -a /data /www
2、将本地机器的内容拷贝到远程机器
rsync -r /tmp 123.123.123.123:/tmp
3、服务器到本地
rsync -r 123.123.123.123:/tmp /tmp
4、服务器到服务器
rsync -r --append /www/wwwroot/www.c.com/media/videos/h264 192.168.123.123:/www/wwwroot/www.c.com/media/videos
暂无评论内容