首页 > 系统相关 >linux服务器项目迁移非常好用的工具scp和rsync

linux服务器项目迁移非常好用的工具scp和rsync

时间:2022-11-04 17:24:18浏览次数:47  
标签:rsync -- ssh linux 服务器 root scp usr

linux系统下一般都安装了,启用一下就可以了

(1):编辑配置文件 

# sudo vi /etc/default/rsync #ubuntu 
# vi /etc/xinetd.d/rsync #centos

 centos:把disable=yse 改为no

 ubuntu:RSYNC_ENABLE=true #false改true

 启动:

# sudo /etc/init.d/rsync start #ubuntu
# systemctl start rsync #ubuntu20
# /usr/bin/rsync --daemon #centos
测试:
# rsync -arHz --progress [email protected]:/usr/local/www/data /usr/local/www/
然后会提示输入密码,OK!
上面是把10.10.0.0的data文件同步到本机的www下面,要是把本机同步过去,反过来写即可

 rsync的参数,可以看帮助文档或者网上查找

 --progress 传输过程中显示进度
  --exclude 忽略目录、文件
  -a 归档(压缩)模式,表示以递归方式传输文件,并保持所有文件属性
  -r 对子目录以递归模式处理
  -H 保留硬链接
  -z 在传输过程中进行压缩
  --delete 如果发送方有删除的文件,接收方同步删除

 --exclude,过滤忽略某些目录和文件,这里有个坑需要注意一下:

 比如:/usr/local/a/ 传到 /usr/local/b,忽略掉a/logs,a/config/config.php,这里一定不能写绝对地址,要写相对地址,相对地址是相对发送方而言的,不是当前执行命令的相对地址。

 正确写法:

rsync -arHz --progress --exclude "logs" --exclude "config/config.php" /usr/local/a/ /usr/local/b

前面两个排除的文件logs和config.php,其实是从第三个框框里面的目录拼接的。
--log-file='/usr/local/ssh/log/rsync.log' --log-file-format='%t %f %b' #也可以指定保存日志

3:建立主机信任,scp rsync建立链接都需要输入密码,很不方便,我们下面处理一下,直接链接就行,不用输入密码

(1):

# vi /etc/ssh/sshd_config
 找到以下内容,并且去掉 #,否则不会在.ssh下生成文件
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys 

 然后重启:

# /sbin/service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
(2):建立从A服务器到B服务器不用密码,在A服务器上执行ssh命令:
# ssh-keygen -t rsa  
按照提示选择yes,然后一直回车,最终会输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:

 34:85:92:a7:c1:b7:cb:67:6f:1f:3f:ba:7e:fa:ad:06 root@abcdefg

(3):把A服务器的/root/.ssh/id_rsa.pub 文件复制到B服务器

 注意:以下都是在B服务器上进行:

(4):写入authorized_keys,我这里的scp和rsync链接都是链接对方的root用户,所以命令:

# cat id_rsa.pub >>/root/.ssh/authorized_keys //root

 如果你链接的是其他用户,比如zhangsan,那么就是

 cat id_rsa.pub >>/home/zhangsan/.ssh/authorized_keys //zhangsan

注意这里的.ssh文件夹,不是都有的,如果没有的话,需要建立一个
# mkdir .ssh 
(5):centos5.5需要复制权限才可以,我们赋下权限
# chmod 600 .ssh/authorized_keys
# chmod 700.ssh
这样从A服务器访问B服务器就不用密码了,前提是访问B服务器的root用户,你如果要用其他B服务器上的用户,则还需要密码!
 

标签:rsync,--,ssh,linux,服务器,root,scp,usr
From: https://www.cnblogs.com/buckliu/p/16858490.html

相关文章

  • Linux删除tunnel的方法
    测试lvs的时候,添加了一个IPtunnel,如下:/sbin/ifconfigtunl0$VIPbroadcast$VIPnetmask255.255.255.255up/sbin/routeadd-host$VIPdevtunl0测试完毕......
  • Linux查询块设备命令之 lsblk
    简介在Linux系统下面,lsblk用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util......
  • Linux查询块设备信息之 blkid
    blkid语法查看块设备的文件系统类型、LABEL、UUID等信息,有软件包util-linux提供。[root@localhost~]#blkid--help用法:blkid--label<label>|--uuid<uuid>blk......
  • linux有哪些文件类型
    七种文件类型在Linux中一切都是文件,但文件都得有类型。那如何查看文件是什么类型了?在Linux常见的文件类型有7种,分别如下所示:文件属性文件类型-常规文件,即file......
  • linux添加环境变量
    以JAVA_HOME为例vim/etc/profile在最后添加内容.exportJAVA_HOME=/root/jdk1.8.0_301exportJRE_HOME=${JAVA_HOME}/jreexportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_......
  • Linux-防火墙操作
    描述CentOS6自带的防火墙是iptables,CentOS7自带的防火墙是firewall。iptables:用于过滤数据包,属于网络层防火墙。firewall:底层还是使用iptables对内核命令动态通信包过......
  • Linux——第十二章学习笔记
    第十二章学习笔记——块设备I/O和缓冲区管理块设备I/O缓冲区I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk)标识......
  • Linux中iptables自定义链
    [root@cloudos02~]#iptables-nvL--line-numberChainINPUT(policyACCEPT0packets,0bytes)numpktsbytestargetprotoptinoutsource......
  • delphi 11.2 配置Linux 开发环境
    1.rockylinux9 命令行: mvlibpython3.solibpython3.so_  ln-s/usr/lib64/libpython3.9.so.1.0libpython3.so打开防火墙:  命令 firewall-cmd--zon......
  • Linux--网络基础(概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程)
    网络的发展网络的发展有下面几个阶段:独立模式:计算机最开始是以单机模式被广泛使用的。每一台计算机都是独立的,之间不能够进行数据共享与通信网络互联:计算机之间可......