使用脚本进行SFTP

简介:

 1. 软件介绍
WinSCP(http://winscp.net) 是一个 Windows 环境下帮助网络工程师使用SSH的开源图形化SFTP客户端,支持 SCP, SFTP 和 SCP 协议,支持批处理脚本和命令行方式,多种半自动、自动的目录同步方式,如图1所示。

2. 脚本方式进行SFTP的例子
假设我们从192.168.199.98服务器用test 用户登录,密码为test从服务上取下server.txt文件,把本地local.txt上传,那么gettxt.txt脚本如下
#设定如果有文件不进行覆盖提示,只接覆盖
option confirm off
#连接目标服务器,支持的格式为[ sftp|ftp|scp:// ][ <user> [ :password ] @ ] <host> [ :<port> ]
open sftp://test:test@192.168.199.98
# 设定二进制传输
option transfer binary
#下载文件到本地D盘
get /home/test/server.txt d:\server.txt
#上传文件到服务器
put d:\local.txt /home/test/local.txt
# 退出WinSCP软出
exit

执行的方式
winscp.exe /console /script=gettxt.txt

3. 同服务器进行文件夹镜像同步的脚本
假设我们以D:\temp\myfile\为源,向/home/test/myfile/进行镜像,每次执行时进行文件对比,有变化进行更新,那么l2s.txt脚本如下
option confirm off
option transfer binary
open sftp://test:test@192.168.199.98
#本地目录向远程镜像更新,注意/home/test/myfile/一定要先存在
#如果把remote 改成local 将是服务器向本地工作更新
#-delete 表示如果目标端有源端不存在的文件就删除
synchronize  -delete remote D:\temp\myfile\ /home/test/myfile/
exit
执行的方式
winscp.com /console /script=l2s.txt
注意:对于SFTP和SCP协议上传文件是可以更新时间戳同本地文件相同的,所以对比的原理是进行时间对比;但FTP默认上传到FTP的文件的时间,就是文件在FTP服务上建立文件的具体时间,为达到同样效果,对于FTP服务器要用时间和长度分别比较一次,具体为如下语句
synchronize -delete -criteria=size remote D:\temp\myfile\ /home/test/myfile/
synchronize -delete -criteria=time remote D:\temp\myfile\ /home/test/myfile/
4. 时间监控本地目录,发现变化就向服务器进行更新
参考脚本如下l2ss.txt
option confirm off
option transfer binary
open sftp://test:test@192.168.199.98
#本地目录向远程更新,实时监视改变,按Ctrl-C中止...
keepuptodate -delete D:\temp\myfile\ /home/test/myfile/
exit
执行的方式
winscp.com /console /script=l2s2.txt


本文转自 小王 51CTO博客,原文链接:http://blog.51cto.com/xiaowang/1161379,如需转载请自行联系原作者

相关文章
|
5月前
|
Python
在线照片眨眼生成器,把照片弄成眨眼动图,让照片眨眼的软件免费
使用Python的Pillow和dlib库,实现从静态图片生成眨眼GIF动画的效果。通过面部识别精确定位眼睛位置,模拟自然眨眼过程。
|
4月前
|
虚拟化 数据安全/隐私保护
VMware ESXi 密码复杂度修改
VMware ESXi 密码复杂度修改
|
11月前
|
存储 安全 数据安全/隐私保护
深入解析iOS 14隐私保护功能:用户数据安全的新里程碑
随着数字时代的到来,个人隐私保护成为全球关注的焦点。苹果公司在最新的iOS 14系统中引入了一系列创新的隐私保护功能,旨在为用户提供更透明的数据使用信息和更强的控制权。本文将深入探讨iOS 14中的几项关键隐私功能,包括App跟踪透明性、简化的隐私设置以及增强的系统安全性,分析它们如何共同作用以提升用户的隐私保护水平。
673 3
|
8月前
|
安全 Linux 网络安全
CentOS 8下SSH连接超时与“无法加载主机密钥”错误的排查与修复
在CentOS 8系统中,宝塔面板提示“出错了,面板运行时发生错误”,导致插件无法正常显示。同时,SSH连接超时,修复面板功能失效。通过VNC连接排查,发现SSH服务安装和配置问题频发,最终通过重装SSH、调整权限并重新生成主机密钥文件解决问题,成功恢复SSH连接。
583 16
|
存储 数据库 Docker
|
SQL XML JSON
在 SQL Server 中使用字符串转义
【8月更文挑战第5天】
1444 7
在 SQL Server 中使用字符串转义
|
持续交付 jenkins Devops
云效流水线 Flow测评
从入门到实践,多方位带你领略云效Flow的优与劣
1081 8
|
Windows
【无需格式化硬盘即可C盘扩容以及新建磁盘】
【无需格式化硬盘即可C盘扩容以及新建磁盘】
1083 1
【无需格式化硬盘即可C盘扩容以及新建磁盘】
|
Serverless 区块链 数据安全/隐私保护
蚂蚁区块链
蚂蚁区块链
2341 0
|
人工智能 机器人 C#
Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)
一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。