精华内容
下载资源
问答
  • 但是希望拷贝(scp命令)到对应的目录(就是文件名的上一层目录, lastDir)下面,保持目录结构 如果不存在,则在远程服务器上创建 (ssh命令) 自动验证账号密码: $ apt-get install sshpass 代码: # usage: sudo ...

    将单个文件拷贝到远程服务器
    但是希望拷贝(scp命令)到对应的目录(就是文件名的上一层目录, lastDir)下面,保持目录结构
    如果不存在,则在远程服务器上创建 (ssh命令)

    自动验证账号密码:

    $ apt-get install sshpass
    

    代码:

    # usage: sudo sh xxx.sh
    
    time=$(date "+%Y%m%d%H%M%S")
    fdir="/data5/user1/src/images"
    # divided file list txts, like: /data5/user1/src/split-list/xat, 相当于list.txt
    flistDir="/data5/user1/src/split-list/" 
    dst="/home/user1/dst/images"
    
    # dst server
    password="xxxxxxxx"
    username="user1"
    Ip="10.xxx.xxx.xxx"
    
    
    for fname in "xat" "xas" "xar" "xaq"
      do
        flist="$flistDir$fname"
        for line in `cat $flist`
        do
          src="$fdir/$line"
          # get the dir name
          srcDir=`dirname $src`
          # get last fater dir
          lastDir=${srcDir##/*/}
          echo "$fname-$src"
          # echo $srcDir
          # echo $lastDir
          # if dir not exist, make it
          sshpass -p "$password" ssh $username@$Ip "[ -d '$dst/$lastDir' ] && echo ok || mkdir -p '$dst/$lastDir'"
          # 后台并行运行
          sshpass -p "$password" scp $src $username@$Ip:"$dst/$lastDir" & 
        done
      echo "Done! $flist-$time"
      done
    
    echo "Done! all"
    
    

    缺点:实测速度比较慢,大量文件操作时不建议。还是scp直接拷贝目录吧

    https://bbs.csdn.net/topics/390440016
    shell获取文件名、父目录:https://dulunar.github.io/2019/11/08/Linux-shell%E4%B8%AD%E6%8F%90%E5%8F%96%E6%96%87%E4%BB%B6%E5%90%8D%E5%92%8C%E8%B7%AF%E5%BE%84/
    https://blog.csdn.net/HeatDeath/article/details/80438440
    https://www.cnblogs.com/chay/p/10266633.html

    展开全文
  • scp远程复制文件和目录

    万次阅读 2015-07-16 16:43:01
    注意scp只能在linux操作系统平台上,要想在linux与window平台上传文件或者目录,下载一个winscp软件或者下载一个sshsecure shell软件安装在window上即可,非常方便,直接拖拉就行...上传本机目录远程服务器 scp ...
    注意scp只能在linux操作系统平台上,要想在linux与window平台上传文件或者目录,下载一个winscp软件或者下载一个sshsecure shell软件安装在window上即可,非常方便,直接拖拉就行。
    1.上传本机文件到远程服务器
     scp local_path/file_name   user_name@remote_ip:remote_path/
    2.上传本机目录到远程服务器
     scp -r local_path/fold_name user_name@remote_ip:remote_path/
    3.拷贝远程服务器文件到本机
      scp user_name@remote_ip:remote_path/file_name  local_path/
    4.拷贝远程服务器目录到本机
      scp -ruser_name@remote_ip:remote_path/folder_name local_path/

    至于其他方式也有,具体没有列出来,但是我想掌握这几种,在远程拷贝上就应该够用了
    展开全文
  • Scp远程批量执行命令

    千次阅读 2020-08-31 15:18:06
    一次拷贝多个文件或者...# scp -r root@192.168.9.142:/usr/local/src/cp_dir/ /usr/local/src/ //拷贝目录远程主机拷贝到本机 # scp root@192.168.9.142:/usr/local/src/redis.tar.gz /usr/local/src/ //这里是从

    一次拷贝多个文件或者目录

    # scp root@192.168.9.142:/usr/local/src/cp_dir/*.php /usr/local/src/  //拷贝多个文件
    # scp -r root@192.168.9.142:/usr/local/src/cp_dir/ /usr/local/src/   //拷贝目录
    

    从远程主机拷贝到本机

    # scp root@192.168.9.142:/usr/local/src/redis.tar.gz /usr/local/src/  //这里是从目标主机142拷贝文件到本机/usr/local/sr
    

    从本机拷贝到目标远程主机

    # scp php-7.2.4.tar.gz root@192.168.9.142:/usr/local/src/   //这里是从当前主机拷贝到IP位142的局域网主机目录/usr/local/src下
    

    Pssh

    pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等。杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它。
    在使用pssh之前,必须要保证管理主机和本地主机进行过密钥的认证,或者是在进行批量时,没有做过密钥认证,但是必须保证被管理的多台主机的密码相同。

    1、RPM包安装

    1) 安装软件包

    [root@proxy ~]# rpm -ivh pssh-2.3.1-5.el7.noarch.rpm
    

    安装pssh后会提供如下命令:

    /usr/bin/pnuke
    /usr/bin/prsync
    /usr/bin/pscp.pssh
    /usr/bin/pslurp
    /usr/bin/pssh
    

    2)修改/etc/hosts本地解析文件

    cat /etc/hosts
     … …
    192.168.2.100 host1
    192.168.2.200 host2
    192.168.4.100 host3
    … …
    

    3)创建主机列表文件

    [root@proxy ~]# cat /root/host.txt     //每行一个用户名、IP或域名
    … …
    root@host1
    host2 host3
    … …
    

    步骤二:使用密码批量、

    多并发远程其他主机
    

    1) 语法格式

    [root@proxy ~]# man pssh   //通过man帮助查看工具选项的作用
    

    pssh提供并发远程连接功能
    -A 使用密码远程其他主机(默认使用密钥)
    -i 将输出显示在屏幕
    -H 设置需要连接的主机
    -h 设置主机列表文件
    -p 设置并发数量
    -t 设置超时时间
    -o dir 设置标准输出信息保存的目录
    -e dir 设置错误输出信息保存的目录
    -x 传递参数给ssh

    2)使用密码远程多台主机执行命令,屏幕显示标准和错误输出信息

    [root@proxy ~]# pssh -i -A -H 'host1 host2 host3' \
    > -x '-o StrictHostKeyChecking=no' echo hello
    

    3)使用密码远程多台主机执行命令,不显示标准和错误输出信息,通过读取host.txt读取主机信息

    [root@proxy ~]# pssh -A -h host.txt \
    > -x '-o StrictHostKeyChecking=no' echo hello
    

    步骤三:使用密钥批量、多并发远程其他主

    1) 生成密钥并发送密钥到其他主机

    [root@proxy ~]# ssh-keygen -N '' -f /root/.ssh/id_rsa //非交互生成密钥文件
    [root@proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub host1
    [root@proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub host2
    [root@proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub host3
    

    2)使用密钥远程其他主机

    [root@proxy ~]# pssh -h host.txt -x '-o StrictHostKeyChecking=no' echo hello
    

    3)使用密钥远程其他主机,将标准输出信息写入到/tmp目录

    [root@proxy ~]# pssh -h host.txt -o /tmp/ -x '-o StrictHostKeyChecking=no' echo hello
    

    步骤四:批量、多并发拷贝数据到其他主机

    1) 语法格式

    [root@proxy ~]# man pscp.pssh //通过man帮助查看工具选项的作用
    

    pscp.pssh提供并发拷贝文件功能
    -r 递归拷贝目录
    其他选项基本与pssh一致

    2)将本地的etc.tar.gz拷贝到远程主机的根目录下

    [root@proxy ~]# pscp.pssh -h host.txt \
    > -x '-o StrictHostKeyChecking=no' etc.tar.gz /
    

    3)递归将本地的/etc目录拷贝到远程主机的/tmp目录下

    [root@proxy ~]# pscp.pssh -r -h host.txt \
    > -x '-o StrictHostKeyChecking=no' /etc /tmp
    

    步骤五:批量、多并发从其他主机下载数据到本机

    1) 语法格式

    [root@proxy ~]# man pslurp //通过man帮助查看工具选项的作用
    

    pslurp提供远程下载功能 选项与
    pscp.pssh基本一致

    2)将远程主机的/etc/目录,拷贝到当前目录下,存放在对应IP下的tmp目录

    [root@proxy ~]# pslurp -r -h host.txt -x '-o StrictHostKeyChecking=no' /etc /tmp
    

    3)将远程主机的/etc/目录,拷贝到media下,存放在对应IP下的tmp目录

    [root@proxy ~]# pslurp -r -h host.txt -x '-o StrictHostKeyChecking=no' \
    > -L /media /etc /tmp
    

    步骤六:批量、多并发杀死其他主机的进程

    1) 语法格式

    [root@proxy ~]# man pnuke//通过man帮助查看工具选项的作用
    

    pnuke提供远程杀死进程的功能
    选项与pssh基本一致

    2)将远程主机上的sleep进程杀死

    [root@proxy~]#pnuke-hhost.txt-x'-o StrictHostKeyChecking=no' sleep
    

    3)将远程主机上的test相关脚本都杀死(如:test1,testtt,test2等等)

    [root@proxy~]#pnuke-hhost.txt-x'-o StrictHostKeyChecking=no' test
    

    4)将远程主机上的test.sh脚本杀死

    [root@proxy ~]# pnuke -h host.txt -x '-o StrictHostKeyChecking=no' test.sh
    

    2、源码包安装

    https://blog.csdn.net/yangnianlong/article/details/90205112

    SSH的远程操作

    ssh远程操作,主要用于在远程的机器上面执行某个操作,格式如下:

    ssh user@host 'command'
    

    案例1、在机器A(192.168.13.148)中查看机器B(192.168.13.149)的操作系统类型。
    在A机器上面执行如下代码:

    ssh  dequan@192.168.13.149  'uname -a'
    

    案例2、将机器A(192.168.13.148)中test文件夹复制到B机器(192.168.13.149)。
    在A机器上面,执行如下命令:

    tar -cz test | ssh dequan@192.168.13.149 'tar -xz'
    

    当然,我们也可以使用scp命令或rz命令,传输文件。
    案例3、在机器A(192.168.13.148)处查看B机器(192.168.13.149)是否监听了1080端口。
    在A机器上面,执行如下命令:

    ssh dequan@192.168.13.149 'netstat -tln |grep 1080'
    

    参考链接 :
    pssh远程套件工具 :
    https://mp.weixin.qq.com/s/Ks8neMnWZtswA59jZKp45g

    https://blog.csdn.net/yangnianlong/article/details/90205112

    https://mp.weixin.qq.com/s/SX88e_4B96jiUuqF5joGcQ

    https://zhuanlan.zhihu.com/p/99753137

    展开全文
  • Linux中进行远程传输文件方法之scp 先来阐述下远程传输文件scp的用法 1.当前机器 --> 远程机器 scp 当前系统文件路径/文件名 远程用户名@IP地址:远程系统文件路径 2.远程机器 -->当前机器 scp 远程机器@IP...

    一、简述
    Linux中进行远程传输文件方法之scp
    先来阐述下远程传输文件scp的用法
    1.当前机器 --> 远程机器

    scp 当前系统文件路径/文件名 远程用户名@IP地址:远程系统文件路径
    

    2.远程机器 -->当前机器

    scp 远程机器@IP地址:远程文件路径/文件名 当前系统文件路径
    

    3、上栗子如下:

    scp /home/a.txt root@127.3.4.5:/home/
    

    注:
    此时假设127.3.4.5 为远程机器,/home/a.txt 为本地文件路径,/home/ 为远程机器文件路径

    二、远程传输时权限被拒绝的问题
    当进行scp传输时报错如下:

    Permission denied (publickey).
    
    lost connection
    

    权限被拒绝
    失去了连接

    直接上汤~
    解决方法:
    1、首先需要分析是否是远程主机没有设置ssh权限访问,假如没有添加,进行如下添加
    登录 远程主机,
    /etc/ssh/sshd_config 文件中的 PasswordAuthentication no 修改为 PasswordAuthentication yes
    在这里插入图片描述
    2、然后重启sshd服务

    systemctl restart sshd
    

    执行到此,进行scp传输文件时,会出现输入远程主机的密码

    如果想要取消输入密码。直接进行传输,进行如下操作
    3、在当前的主机执行如下命令:

    ssh-keygen -t rsa
    

    会生成公钥和对应的密钥文件
    运行过程的操作如下:

    Generating public/private rsa key pair.
    
    Enter file in which to save the key (/root/.ssh/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.
    

    执行完毕后会在用户目录~/.ssh/产生两个文件,

    cd ~/.ssh
    ls
    id_rsa,id_rsa.pub
    

    在这里插入图片描述
    4、然后将当前主机上的id_rsa.pub文件拷贝到远程Linux主机的root用户目录下的.ssh目录下,并且改名为authorized_keys 。
    注:若已经有该文件覆盖掉内容即可。

    这样在当前Linux主机上使用scp命令传输文件到远程Linux上将不提示输入密码了,直接传输了。
    也可在当前Linux主机上使用scp命令将远程Linux上文件传输到本机;
    总之不需要验证,就可以在当前Linux系统访问远程Linux系统

    注:如果有多台计算机需要与远程Linux系统进行传输,则只需将id_rsa.pub中的内容复制到authorized_keys文件中即可。

    展开全文
  • 设定场景我们需要将tomcat服务器(client1)192.168.30.20 上的catalina.out日志文件,每天使用指定用户拷贝到日志保留服务器(Server1)上192.168.30.30 ,client11上创建 普通用户 rtcp 用户家目录为...
  • linux scp远程拷贝文件及文件夹

    千次阅读 2019-06-26 15:21:00
    1、拷贝本机/home/administrator/test整个目录远程主机192.168.1.100的/root目录下 代码如下: scp -r /home/administrator/test/ root@192.168.1.100:/root/ 2、拷贝单个文件至远程主机 代码如下: scp /home/...
  • scp是什么? scp是 remote file copy program 的缩写, scp...#创建目录 mkdir -p /export/aaa/bbb/ccc #创建文件 touch /export/aaa/01.txt /export/aaa/02.txt #显示 tree /export/aaa 1 文件 语法格式 #拷贝文...
  • 还有个比较常用的就是scp远程拷贝不需要输入密码。ssh信任关系,是指一台服务器上的一个用户信任客户端的一个用户,允许这个用户不输入密码登录,另一个说法叫做public_key_auth。实际上就是证书信任
  • 在Linux下远程备份的时候,需要配置scp的 无密码复制文件、目录。就把这个设置整理如下:本地服务器:A远程服务器:B1.在 A 上运行 ssh-keygen -t rsa 在/root/.ssh 下生成id_rsa 和 id_rsa.pub 两个文件在/root/....
  • A_Client 的用户名为 Root_A B_Server 的用户名为 Root_B 以下是在机器A_Client和机器B_Server之间建立安全信任关系的步骤: - 问题1 先实现远程拷贝的问题 ... scp 从本地上传到远程/home/Root_B目录
  • 目录 ssh ssh是什么 ssh安装 使用ssh登录远程主机 退出登录 使用ssh执行单条指令 密钥验证 详细操作 scp rsync sftp 进阶 ssh ssh是什么 ssh (Secure SHell)简单说,ssh是一种网络协议...
  • linux的scp命令可以在linux服务器之间复制文件和目录。   使用scp需要从服务上已经安装openssh-server。(A -> B或者A,这里都把A称作主服务器,B称做从服务器) Ubuntu:   查看是否安装:dpkg -l | grep
  • 例如将/home/date 整个目录传输到远程目标上; 首先先确定远程目标路径 cd /home/ 然后在目标路径创建相同的文件夹 mkdir date 进入目标文件夹 cd date 然后确定本地目录: lcd /home/ 然后执行 put...
  • linux普通用户利用scp拷贝文件到远程主机任意目录注意事项1、远程主机需授权普通用户cp权限(visudo提权)2、先利用scp将文件拷贝到远程主机普通用户家目录下,3、利用下面命令把文件拷贝到指定位置ssh -t 普通用户@...
  • CentOS常见命令之远程拷贝(scp)

    千次阅读 2020-07-10 22:41:21
    1. 背景 作为后端开发或者运维工程师,服务器是我们必须牢牢掌握的...当然,这不是我们今天要探讨的主角,我们今天的主角是scp远程拷贝命令,这个在一个局域网内服务器之间拷贝相当的方便。 2. 示例 语法 scp [可选参
  • Ubuntu_SSH远程文件/目录传输命令scp

    千次阅读 2012-09-26 11:42:11
    今天从远程服务器复制文件到本地,远程文件为a.cap,在用户Users/ccc下面;本地用户为aaa,ip为192.168.1.11, 默认端口为22,使用命令为:scp ...scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类
  • 远程服务器上准备要被拷贝文件/目录远程服务器拷贝文件/目录到本地服务器 scp命令作用 scp命令作用:主要是两台服务器上之间传输文件 使用到的环境 为了模拟两台服务器,我先安装了两个linux系统,分别安装...
  • scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径 scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件 把本地文件复制到远程主机 (上传) scp westos root@172.25.254.20:/root/Desktop ...
  • linux中的远程文件传输scp命令二级目录三级目录 scp命令 scp 本地文件 远程主机用户@远程主机ip :远程主机目录的绝对路径 scp 远程主机用户@远程主机ip :远程主机目录的绝对路径 本地文件 二级目录 三级目录 ...
  • scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径 scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件 实验步步骤: 1.在rhel7建立实验素材 touch westos mkdir westosdir 2.测试 a)把...
  • =============== scp远程获取本地备份的数据 ====================== 四、由于公司网络改造,防火墙问题导致ftp不能使用,所以从公司内部服务器拉机房托管服务器的备份...
  • 公司运营部同事需要一个文件服务器用来存储保单影像资料。由于公司没有现成的环境,于是决定自己搞一下。大致思路:1....一、创建FTP用户在linux中添加ftp用户,并设置该用户不能登录且只能访问自己的...
  • scp [参数] 文件名 远程主机的用户名@192.168.0.xxx:/目录 例:scp xx.ko yyy@192.168.0.145:/root/file 把远程主机的文件拷贝到本地主机 scp 远程主机的用户名@192.168.0.xxx:/目录 本地主机目录 例:scp yyy@192...
  • 文章目录一、SSH远程管理1、OpenSSH服务器2、OpenSSH3、配置文件中一些重要的参数(1)PermitRootLogin(2)MaxAuthTries4、黑白名单设置(AllowUsers、DenyUsers)5、创建并使用密匙对验证登录服务器6、使用scp命令...
  • Linux不同服务器远程拷贝复制文件scp

    万次阅读 2021-04-01 11:53:18
    scp本地拷到远程姿势 scp 路径/本地文件 远程服务器用户@服务器IP:程服务器路径/[文件名] 实例:将本地当前目录下sysinfo.sh拷贝至10.0.0.58服务器u20用户家目录下 [23:48:49 rooter@C8-3-55 ~]#scp ./sysinfo....
  • 用途:从本地/data/xxx/src_folder文件夹下拷贝多个文件(model-*.params, model-symbol.json)到远程服务器(10.xxx.xxx.xxx)的/data5/dst_folder目录下 $ sudo apt install sshpass 下面脚本存为 xxx.sh #!/usr/...
  • scp可以实现远程主机之间的文件复制 scp使用ssh协议,所有想要免密进行复制,需要发送秘钥给相应的节点 为了更好地展示操作效果,打开两台VMware 虚拟机,分别是CentOS7-1和CentOS7-2,并用xshell 远程连接。 CentOS...
  • 下面是复制整个目录中文件的代码,(也可以复制单个或指定后缀名的文件,需要改动) package zexcel; import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; import java.util....
  • 上传本地文件到服务器scp 本地路径 用户名@远程服务器ip:远程路径 下载文件 scp 用户名@远程服务器ip:远程路径 本地路径-r 是上传下载本地目录远程 远程文件 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,524
精华内容 12,209
关键字:

scp远程创建目录