热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用脚本进行SFTP

1.软件介绍WinSCP(http:winscp.net)是一个Windows环境下帮助网络工程师使用SSH的开源图形化SFTP客户端,支持SCP,SFTP和SCP

 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:// ][ [ :password ] @ ] [ : ]
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


推荐阅读
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 本文详细介绍了如何下载并安装 Python,包括选择合适的版本、执行安装程序以及设置环境变量的步骤。此外,还提供了测试安装是否成功的简单方法。 ... [详细]
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • 在Windows Server 2008 R2上配置IIS FTP服务
    本文详细介绍了如何在Windows Server 2008 R2操作系统上通过IIS配置FTP服务的过程,包括服务器角色的选择与安装、FTP站点的创建以及必要的服务和防火墙设置检查。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • HPE OEM Brocade 300 交换机无中断固件升级指南
    本文详细介绍了如何通过FTP方式对HPE OEM Brocade 300交换机进行无中断固件升级,确保网络服务的连续性。 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
author-avatar
书友72177273
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有