实验环境:两台主机都是可以通信的,防火墙都是disable的
远程传输命令
- scp(完全备份)
#上传
#注意:没有改回端口号,需要在虚拟机里改回
#注意:注意相对路径和绝对路径的方式
#用root的身份将文件file传输到虚拟机/root/Desktop目录下
scp file root@172.25.254.123:/root/Desktop
#将归档文件上传到172.25.254.123主机的/mnt下
scp yqq.tar root@172.25.254.123:/mnt
#将虚拟机里的图片拷到真机
#下载
#将图片下载到当前目录(绝对路径)
scp root@172.25.254.123:/root/Pictures/westos.png .
#传输目录
scp -r dir/ root@172.25.254.123:/root/Desktop
不显示传输过程
scp -q dir root@172.25.254.123:/root/Desktop
注意:scp 的方式是完全备份(不适合企业)
- rsync(增量备份)
rsync的参数 | 说明 |
---|---|
-r | 复制目录 |
-l | 复制链接 |
-p | 复制权限 |
-t | 复制时间戳 |
-o | 复制拥有者 |
-g | 复制拥有组 |
-D | 复制设备文件 |
-a | all |
-C | 增量检测 |
-q | 不显示过程 |
#建立一个目录,目录中要5个文件,还有一个链接
touch dir/file{1..5}
ln -s /home/westos/Desktop/dir/file1 dir/test
复制目录文件,目录中的所有文件一起被复制到虚拟机172.25.254.123
rsync -r dir root@172.25.254.123:/mnt/
#删除
ssh root@172.25.254.123 'rm -fr /mnt/*'
#只传输目录里的内容,目录不传输
rsync -r dir/ root@172.25.254.123:/mnt/
#链接也一并传输
ll dir/
rsync -lr dir root@172.25.254.123:/mnt/
#将用户和组传输过来
rsync -poglr dir root@172.25.254.123:/mnt/
#传输时间
rsync -poglrt dir root@172.25.254.123:/mnt/
传输设备
ls -l /dev/pts/
rsync -poglrD dir root@172.25.254.123:/mnt/
rsync和scp的比较
- 脚本中写入 scp
(1)首先做好免密登录
cd ~/.ssh
#加密服务端用户,免密操作
ssh-copy-id -i id_rsa.pub root@172.25.254.123
#远程登录
ssh root@172.25.254.123
(2)查看运行时间:time date
time cp file dir/
real :实际时间
user:授权检测时间
sys:系统时间
(3)完成和远程主机的免密登录
(4)生成一个大的文件
dd if=/dev/zero of=bigfile bs=1M count=1000
du -sh bigfile 查看文件大小
#dd:截取
#if:从哪里复制过来的东西
#of:放在哪里
#bs:一块的大小
#count:一共切多少块
(5)写一个脚本,连续复制三次
(6)三次都是完全备份
- 脚本中写入 rsync
测试的结果rsync比scp快很多,后两次只检测是否有不同的内容
归档压缩
很多个要保存的东西压缩成一个,这样更加方便保存
tar的参数 | 说明 |
---|---|
c | 创建 |
f | 指定文件名称 |
x | 解档 |
v | 显示过程 |
t | 查看 |
r | 向归档文件中添加文件 |
–get | 解档指定文件 |
–delete | 删除指定文件 |
-C | 指定解档路径 |
-P | 指定解档路径 |
补充:-P:绝对路径(解档时要主注意,如果都是绝对路径,会解档到绝对路径里)
#查看大小
du -sh /home/westos/Pictures
#系统自动会去掉/ ,解档时不会覆盖原文件
tar cf photo.tar /home/westos/Pictures
#发送photo.tar到虚拟机172.25.254.123
scp photo.tar root@172.25.254.123:/mnt
注意!有很多目录里有很多是链接(多个节点对应一个数据块,有很多重复操作)
#将/etc归档成一个名字为etc.tar的归档文件,并显示过程
#v:查看相对路径
tar cvf etc.tar /etc/
#解档etc.tar
tar xf ect.tar
#向指定的归档文件etc.tar中添加文件AAA
#查看归档文件中的内容
tar rf etc.tar AAA
tar tf etc.tar
#从归档文件中解档指定文件AAA
tar f etc.tar --get AAA
#指定解档归档文件到/opt/
tar xf etc.tar -C /opt/
#删除归档文件etc.tar中的指定文件AAA
tar f etc.tar --delete AAA
文件的解压缩
以下都是开元
#zip格式压缩目录
zip -r etc.tar.zip etc.tar
#gz格式压缩
gzip etc.tar
du -sh etc.tar.gz
#gz格式解压
gunzip etc.tar.gz
#bz2压缩
bzip2 etc.tar
#bz2解压
bunzip2 etc.tar.bz2
#xz压缩
xz etc.tar
#xz解压
unxz etc.tar.xz
如何一步压缩
tar zcf etc.tar.gz /etc/
tar jcf etc.tar.bz2 /etc/
tar jcf etc.tar.xz /etc/
(混用)
如何一步解压
tar zxf etc.tar.gz
tar jxf etc.tar.bz2
tar jxf etc.tar.xz