Linux复制命令可以分为本地复制和远程复制
本地复制Linux 本地复制可以使用cp指令
同时复制多个文件到目标文件(夹)下
命令格式为:cp 源文件1 源文件2 目标文件夹 或cp 文件* 目标文件夹
命令格式为:cp -r 源文件夹 目标文件夹
建议使用如下的指令进行复制,可以满足绝大部分的场景
cp -pr 源文件(文件夹)目标文件(文件夹)远程复制Linux 远程复制可以使用scp指令,scp可以用于不同服务器之间传输文件
命令格式:scp <参数> <原路径> <目标路径>
例如复制文件 可以指定用户名也可以不指定,可以覆盖目标文件:scp local_file remote_username@remote_ip:remote_folder
or scp local_file remote_username@remote_ip:remote_file
or scp local_file remote_ip:remote_folder
or scp local_file remote_ip:remote_file
scp也可以将远程服务器的文件复制到本地
scp remote_username@remote_ip:remote_file local_file
scp remote_username@remote_ip:remote_file local_folder
rsync服务复制rsync全名Remote Sync,是类unix下数据镜像的备份工具。可以方便地实现本地,远程备份文件,rsync最重要的一点是支持增量备份。
rsync用法如下
$rsync
-z 表示压缩,即在文件传输前和传输后要进行压缩
-v 表示显示详细信息
-r 表示在文件传输时对子文件夹中的内容要进行递归处理
-p 表示在备份时要保留文件原有属性
-t 表示在备份时要保留文件原有时间
-g 表示在备份是要保留文件原有属组
-o 表示在备份时要保留文件属主
-l 表示在备份时要备份所有的软链接
-D 表示在备份时要保留device信息
-a 相当于-rptgoiD的组合,即在传输文件时丝毫不变,原样备份。
–port 指定rsync服务的端口号
–delete 表示删除目标位置有的但是源位置没有的文件(注:此参数易造成文件丢失,因此需要谨慎使用)
不同机器之间,使用rsync进行同步,可以使用如下两种方式
使用ssh协议,比如如下 将本地目录的文件同步到异地root目录/usr/bin/rsync -avuPR. root@192.168.10.101:/root/使用rsync服务,需要在远端机器启用一个rsync服务rsync服务采用C/S模式,使用端口号873。Rsync的服务端是指开启Rsync服务,监听873端口的设备
rsync服务配置
配置/etc/rsyncd.conf
/etc/rsyncd.secrets(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)账号:密码
vim /etc/rsyncd.secretsroot:root123456权限:因为rsyncd.secrets存储了rsync服务的用户名和密码,所以非常重要。要将rsyncd.secrets设置为root拥有, 且权限为600。cd /etcchown root:root rsyncd.secrets chmod 600 rsync.pas启动rsync服务
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf客户端配置只需要配置密码部分即可,权限也跟服务器端一样
$ cat /etc/rsyncd.secretsroot123456客户端同步数据(注意命令种的“.” 表示当前目录所有数据同步到服务器端data_dir模块)
/usr/bin/rsync -avuPR --password-file=/etc/rsyncd.secrets . 192.168.10.11::data_dir其中192.168.10.11是rsync服务器IP::data_dir 表示服务器端需要同步的模块名称,再rsyncd.conf里面进行配置如果您对此文章比较有兴趣,可以点个关注,欢迎收藏、点赞、转发,我将经常发表一些比较实用的文章,请大家多多关照