首页 > 其他分享 >分享一个连接远端计算机与传输文件的脚本

分享一个连接远端计算机与传输文件的脚本

时间:2022-11-20 17:55:47浏览次数:43  
标签:remote -- 传输 sh chaosuan 远端 分享 local bash

分享一个连接远端计算机与传输文件的脚本

用了一个月超算,由于本地是linux系统,需要用到ssh命令连接远端计算机,需要用到scp命令进行文件传输。
但是连接远端的命令太复杂,于是我写成了一个bash脚本,使用起来非常方便。

用途

将ssh和scp命令整合,可以连接特定的远端计算机,或者收发文件。
该脚本共设置了三个选项
-o 可以选择send,receive和connect三种模式,前两种将调用scp命令传输文件,后一种将使用ssh连接远端
-l 后面加本地文件夹或者本地文件名,如果包含“?*”等模糊匹配的字符需要加引号。
-r 后面加远端文件名或者远端文件夹。

示例

在工作目录下提前准备好两个文件:一个文件是脚本bash文件“chaosuan.sh”,第二个是ssh连接的密钥文件“id_key”

# 脚本的使用方法(以下方式均可)
bash chaosuan.sh -h 
bash chaosuan.sh --help
# 输出结果为
# Usage: bash chaosuan.sh [-o|--option] [-r|--remote] [-l|--local]
# option: connect (1|c) receive (2|r) send (3|s)

# 连接远端计算机(以下方式均可,类似ssh命令)
bash chaosuan.sh -o connect 
bash chaosuan.sh -o c
bash chaosuan.sh -o 1 

# 发送本地文件到远端(以下方式均可,类似scp命令)
bash chaosuan.sh -o send -l local-file_or_local-dir -r remote-file_or_remote-dir 
bash chaosuan.sh -o s -l local-file_or_local-dir -r remote-file_or_remote-dir 
bash chaosuan.sh -o 3 -l local-file_or_local-dir # -r选项后面的内容可以省略

# 接收远端文件到本地(以下方式均可,类似scp命令)
bash chaosuan.sh -o receive  -r remote-file_or_remote-dir -l local-file_or_local-dir
bash chaosuan.sh -o r  -r remote-file_or_remote-dir -l local-file_or_local-dir 
bash chaosuan.sh -o 2 -r remote-file_or_remote-dir # -l选项后面的内容可以省略

脚本

脚本名称为“chaosuan.sh”:

#!/bin/bash
#time:  2022-10-8
#email: [email protected]
#首先根据调试好的ssh命令修改web里的内容
web=”ssh.cn-xxxxxxx.com“

usage() {
    echo "Usage: bash ${0} [-o|--option] [-r|--remote] [-l|--local]"
    echo "option: connect (1|c) receive (2|r) send (3|s)" 1>&2
    exit 1
}

r=" "
l=" "
while [[ $# -gt 0 ]]; do 
    key=${1}
    case ${key} in 
        -o|--option)
            o=${2}
            shift 2
            ;;
        -r|--remote)
            r=${2}
            shift 2
            ;;
        -l|--local)
            l=${2}
            shift 2
            ;;
        *)
            usage 
            shift
            ;;
    esac
done


if [ ${o} == "c" ] || [ ${o} == "connect" ] || [ ${o} == "1" ]; then
  ssh -i id_key ${web}
elif [ ${o} == "r" ] || [ ${o} == "receive" ] || [ ${o} == "2" ]; then
  scp -i id_key -r ${web}:/home/username/${r} ${l}
elif [ ${o} == "s" ] || [ ${o} == "send" ] || [ ${o} == "3" ]; then
  scp -i id_key -r ${l} ${web}:/home/username/${r}
else 
  usage
fi

标签:remote,--,传输,sh,chaosuan,远端,分享,local,bash
From: https://www.cnblogs.com/liangxuran/p/16909080.html

相关文章

  • 报告分享|艾瑞咨询:2022年中国教育智能硬件市场与用户洞察报告
    “风劲帆满正当时,传承创新起新程”。2022年,教育智能硬件在疫情、双减等多因素影响下,成为各大教育企业转型破局的重要方向,传统教培机构、传统硬件厂商和互联网等科技公司纷纷......
  • 报告分享|CIC工信安全:2022年智慧城市白皮书
    白皮书通过梳理近年来智慧城市发展脉络,总结研判发展实践中的新变化、新内涵,提出了一系列智慧城市建设的新理念、新架构、新建议,旨在为建设应用技术先进、社会效益良好、生态......
  • 报告分享|腾讯金融研究院:2022金融AI发展研究报告
    人工智能作为一种“新基建”,正在与实体经济深度融合,推动社会及各个产业的数字化转型、智能升级和融合创新。金融业是人工智能最具潜力的应用领域之一,人工智能技术正与金融业......
  • 艾瑞咨询:2022年中国财税数字化行业研究报告|报告PDF分享
    推动企业数字化改革是如今国内的大风向之一,所谓财税数字化是指运用数字化技术、思维与认知撬动并赋能相关的生产与管理,进而实现“以数治税”、“以票管税”等目标。本报告着......
  • 博客园主题修改分享
    1.进入博客园个人后台,选择设置找不见博客园后台的,可以先进入博客园首页,点击头像下的账号设置,进入后左侧列表有博客设置,点击后可进入。2.基本设置里,选择皮肤CodingLif......
  • 关于GET/POST请求传输时URL编码的介绍记录随笔
    UTF-8编码的汉字:少数是汉字每个占用3个字节,多数占用4个字节#GET请求编码Chrome会先把URL中非ASCII字符按照某种编码格式(谷歌浏览器是UTF-8)编码成byte数组后,然后转成16进......
  • 音视频方案分享
    Shopee视频处理技术后台应用参考https://mp.weixin.qq.com/s/_GOA-5BptqdiJFzBAS6lYg视频处理的一般流程:视频转码需要经过哪些环节:第一步解码得到YUV画面数据;然......
  • 电子公文传输系统团队项目——(4)描述设计
    描述设计1.活动图2.用例图3.身份认证状态图4.身份认证类图5.加密传输类图6.日志管理类图......
  • 传奇GM调整极品属性的命令-----技术分享
    传奇架设GM调整极品属性的命令GM命令@supermake命令用法!以下格式皆为@supermakeabc以上命令含义:调整A(装备)的B(属性)到C(点数)@supermake10101代表武器0代......
  • 博奥智源网站、管理系统和微信小程序设计分享
    1.全国管理办公室账号拥有最高权限,具有各种审核权限,可以查看全国学生信息,开启活动报名通道、平台(如中期评估、暑期活动、在线考试、总结评议等),发布活动通知,查看、汇总、统......