Linux文件同步

本文详细介绍了SSH远程登录的使用方法,包括无密码登录的设置步骤;SCP命令用于在不同Linux主机间进行文件复制的操作流程;以及RSYNC命令的各种参数说明,包括本地和主机间的同步方式。

1.ssh

1.1 ssh连接与注销

hgy@hgy-virtual-machine:~$ ssh hgy@10.11.53.18
hgy@10.11.53.18's password: 
Last login: Sat Sep  1 14:58:38 2018 from 10.11.53.127
hgy@hgy-virtual-machine:~$ exit
注销
Connection to 10.11.53.18 closed.
hgy@hgy-virtual-machine:~$

  

1.2 无须输入密码登录

IP 10.11.53.127 (客户端)

IP 10.11.53.18 (服务器)

1)在10.11.53.127(客户端)上操作
root@xiaohuang-virtual-machine:/# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): #回车
Enter same passphrase again: #回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xZKF6JtH+jo0pvG5+in7nAvv2b5JAUZ0ixo+XoonaSk root@xiaohuang-virtual-machine
The key's randomart image is:
+---[RSA 2048]----+
|     .o....      |
|     ..o.=       |
|    ..+ + o      |
|   . +...o       |
|    + .=S        |
|   =.+B ..       |
|E * =* =.        |
| o oo++*..       |
|    oB&*=.       |
+----[SHA256]-----+
root@xiaohuang-virtual-machine:/# cd /root/.ssh
root@xiaohuang-virtual-machine:~/.ssh# ls
id_rsa  id_rsa.pub
root@xiaohuang-virtual-machine:~/.ssh# cat id_rsa.pub #查看复制内容
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCilrhmboRXk5CfeD4szk4DPYx7wUg4r7t/aTNkgziJmM5m9MztL/r9FAyQQ4DghGuM6njTKcHoHHi3H3Ii+JHZvjxIhG0pPfbKtJHYwuDUu8dgu/H0dJRWl43C8VC4Nav0xjBVhrfJbJaoBrd8x8i9kFOsnOlz5TAI70gxoVhRTs7kXMuB9L1Uq0Tunko3R0U5Wsf926b5f9fK0nIKCat7MPSNLRJmHMExxtEpG7HDu6eEa08963PkBdvwmonyA5T2FcLR08v9v3uyxEiI2kdzEyXozq7vaovUmwvBdz1nfrYzxngQrSwZ+G4YAe29BbVA11nFvAt4TA1K7IleHT3X root@xiaohuang-virtual-machine

  

2)在10.11.53.18(服务器)上操作
hgy@hgy-virtual-machine:~$ clear
hgy@hgy-virtual-machine:~$ su roott
没有用户“roott”的密码项
hgy@hgy-virtual-machine:~$ su root
密码: 
root@hgy-virtual-machine:/home/hgy# mkdir -p /root/.ssh
root@hgy-virtual-machine:/home/hgy# cd /root/.ssh/
root@hgy-virtual-machine:~/.ssh# vim authorized_keys
root@hgy-virtual-machine:~/.ssh# chmod 600 /root/.ssh/authorized_keys 
root@hgy-virtual-machine:~/.ssh# chmod 700 /root/.ssh/
root@hgy-virtual-machine:~/.ssh# 

  

3)到10.11.53.127 (客户端)上测试
root@xiaohuang-virtual-machine:~/.ssh# ssh hgy@10.11.53.18

  

2.scp

两台linux主机之间进行文件复制

IP 10.11.53.127 (客户端)

IP 10.11.53.18 (服务器)

2.1 上传

1)在10.11.53.127(客户端)上操作
xiaohuang@xiaohuang-virtual-machine:~$ cat infoshow.word 
sshd:x:121:65534::/var/run/sshd:/usr/sbin/nologin
我能送你回家吗?可能外面要下雨了
xiaohuang@xiaohuang-virtual-machine:~$ scp infoshow.word hgy@10.11.53.18:/home/hgy/桌面
hgy@10.11.53.18's password: 
infoshow.word                                            100%   99     0.1KB/s   00:00    
xiaohuang@xiaohuang-virtual-machine:~$ 

  

2)去10.11.53.18(服务器)上验证
hgy@hgy-virtual-machine:~$ cd /home/hgy/桌面
hgy@hgy-virtual-machine:~/桌面$ ls
1.py  infoshow.word
hgy@hgy-virtual-machine:~/桌面$ cat infoshow.word 
sshd:x:121:65534::/var/run/sshd:/usr/sbin/nologin
我能送你回家吗?可能外面要下雨了
hgy@hgy-virtual-machine:~/桌面$

  

2.2 下载

xiaohuang@xiaohuang-virtual-machine:~$ scp -r hgy@10.11.53.18:/home/hgy/桌面/myproject /home/xiaohuang/桌面
hgy@10.11.53.18's password: 
index.html                                               100%    0     0.0KB/s   00:00    
myproject.css                                            100%    0     0.0KB/s   00:00    
myproject.js                                             100%    0     0.0KB/s   00:00    
world.png                                                100%    0     0.0KB/s   00:00    
hellow.png                                               100%    0     0.0KB/s   00:00    
xiaohuang@xiaohuang-virtual-machine:~$ cd /home/xiaohuang/桌面/myproject
xiaohuang@xiaohuang-virtual-machine:~/桌面/myproject$ tree
.
├── css
│   └── myproject.css
├── img
│   ├── hellow.png
│   └── world.png
├── index.html
└── js
    └── myproject.js
​
3 directories, 5 files

  

3.rsync

  • -a 以递归的方式传输文件
  • -v 打印传输速率文件数量
  • -p 保持文件的权限
  • -l 保持软连接
  • -o保持所属用户
  • -g 保持所属的组
  • -t 保持文件的修改时间
  • -u 如果说目标文件 更新 那么该文件就被忽略
  • --delete 为了保证 两个文件夹内容一样 ab 先把b文件夹中 a没有的内容删除 然后 把a的内容复制过来
  • --exclude 排除掉 指定的文件
  • --progress 显示传输过程

3.1 本地同步

rsync -av one/ two/  将one目录下面的文件 复制到 two目录下   
rsync -av one two  将这个one目录复制到 two 目录下面  
rsync -av --exclude=*.tar.* one/  two/  将one目录下面的 内容复制到two 目录下  排除掉*.tar.*
rsync -av --exclude=public/* --progress one/ two/   只复制one 目录下的public 文件夹  里边的内容被忽略掉    
rsync -avtogl --delete one/ two/
先把two目录中 跟one目录不同的内容删除掉 然后再复制   
rsync -auv one/ two/  
如果one目录下面的内容 不如two目录下面的新    谁最后改的就是新的 

  

3.2 主机之间同步

rsync -auv --delete --progress --exclude=public/* one/ python06@10.11.53.66:/home/python06/test                     
​
​
crontab -e -u need888
#每天的凌晨三点半、执行数据同步
30 3 * * * /usr/bin/rsync -auvplog --delete --progress --exclude=public/* one/ python06@10.11.53.66:/home/python06/test

  

转载于:https://www.cnblogs.com/huanggaoyu/p/10056064.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值