IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 使用bat脚本上传文件到Linux服务器 -> 正文阅读

[系统运维]使用bat脚本上传文件到Linux服务器

前言

本文中运行环境为Win10, 脚本类型为bat脚本, 上传文件使用WinScp客户端进行上传, 下面开始教程

一. 安装WinScp客户端

WinScp客户端官方链接: https://winscp.net/eng/download.php
在这里插入图片描述
下载完安装即可, 可以自定义安装目录, 也可以使用默认的, 楼主是选择的自定义安装到了D:\soft\WinScp下

二. 写bat脚本

在需要上传的文件或文件夹的同级目录下新建文件, 文件名命名为 upload.bat(具体名字随意,只要是.bat结尾即可)
脚本内容如下:

@Echo off

:: 先备份当前目录路径
set oldPath=%cd%

:: 设置winscp安装目录(这里修改为个人实际的安装路径)
set winscpInstallDir=d:\soft\winscp

:: 远程主机IP
:: 如果不需要命令行输入可以直接写死, 如:
:: set ipaddr=127.0.0.1
set /p ipaddr=请输入目标主机IP: 

:: 登录用户名
:: 如果不需要命令行输入可以直接写死, 如:
:: set username=appadmin
set /p set username=请输入登录用户名: 

:: 登录密码(注意啦!!!!)
:: 如果密码中存在 & @ 等特殊字符时,请输入 ^ 用与转义
:: 如:  admin@123&456  ====>   admin^@123^&456

:: 如果不需要命令行输入可以直接写死(也需要转义), 如:
:: set password=admin^@123^&456
set /p set password=请输入登录密码: 

:: 设置需要上传的文件(与该脚本同级目录)
set localFilePath=%oldPath%\test\

:: 保存的远程目录
set remotePath=/app/HEIMDALL

:: 打印提示信息
Echo 准备推送文件到远程服务器...

:: 生成winscp执行的脚本
Echo option batch on > winscp.txt
Echo option confirm off > winscp.txt
:: 打开远程链接
:: 如果用户名或密码带有特殊字符,推荐直接在这里写死(也需要转义)
Echo open %username%:%password%@%ipaddr% > winscp.txt
:: 进入到目标文件夹
Echo cd %remotePath% >> winscp.txt
Echo option transfer binary >> winscp.txt
:: 上传到远程
Echo put %localFilePath% >> winscp.txt
Echo close >> winscp.txt
Echo exit >> winscp.txt

:: 到winscp.com 所在盘符
cd %winscpInstallDir%

:: 使用winscp将文件上传到远程服务器,script为生成的步骤文件
winscp.com /console /script=%oldPath%\winscp.txt

:: 删除本次上传生成的winscp.txt
cd %oldPath%
del winscp.txt  

pause

写完之后保存, 双击运行, 命令行窗口显示如下即为上传完毕:
在这里插入图片描述
之后进入Linux服务器相应文件夹查看, 文件已经上传完毕, 打完收工
在这里插入图片描述

如果在自己集成的过程中需要打开新的CMD窗口,可以使用以下两种方式:

1.
start cmd /k echo Hello, World!

2.  
start cmd /C pause

区别第一种是新开的窗口不会自动关闭, 而第二种执行完毕以后, 新开的窗口会自动关闭

三. bat脚本中部分特殊字符

1、@  命令行回显屏蔽符
2、%  批处理变量引导符
3、>   重定向符
4、>>  重定向符
5、<、>&、<& 重定向符
6、|  命令管道符
7、^  转义字符
8、&  组合命令
9、&& 组合命令
10、||  组合命令
11、""  字符串界定符
12、, 逗号
13、; 分号
14、() 括号
15、! 感叹号

四. WinScp命令行部分命令

call     执行任意远程Shell命令
cd       改变远程工作目录
chmod    改变远程文件权限
close    关闭会话
exit     关闭所有会话并结束程序
get      从远程目录下载文件到本地目录
help     显示帮助
keepuptodate 在一个远程目录连续反映本地目录的改变
lcd      改变本地工作目录
lls      列出本地目录的内容
ln       新建远程符号链接
lpwd     显示本地工作目录
ls       列出远程目录的内容
mkdir    新建远程目录
mv       移动或者重命名远程文件
open     连接到服务器
option   设置或显示脚本选项的值
put      从本地目录上传文件到远程目录
pwd      显示远程工作目录
rm       删除远程文件
rmdir    删除远程目录
session  列出连接的会话或者选择活动会话
synchronize 用一个本地目录同步远程目录

如果要查看某个命令的具体使用方法用:
help command
例,现在不记得synchroize的具体命令方法了,现在我可以使用:
help synchronize
winscp> help synchronize
synchronize local|remote|both [ <local directory> [ <remote directory> ] ]`

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:55:01  更:2021-12-24 18:57:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:29:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码