根据网络资源结合实际生产环境整理
一、需求
由于本地备份的空间限制,需要把各系统应用和数据库远程备份到sftp搭建的服务器中
二、疯狂找程序和脚本测试(找到两款Windows下可以实现sftp传输的软件)
1、直接通过cmd或powershell脚本自带程序访问服务器,(前提需要在应用程序中选中OpenSSH客户端和服务端进行加载)有可能需要服务器进行重启操作,不建议此类型
访问命令
①sftp -P 22 user@1.1.1.1
(-P 22 制定sftp访问端口号;user为访问sftp用户名;1.1.1.1 为sftp服务器地址)
②输入密码进入sftp界面
③通过命令操作
ls 查看可访问的目录文件夹中的目录和内容
put -r D:\临时 /123
通过put上传命令把本地D盘下临时文件夹 上传到服务器 123目录下面
put命令上传单个文件可以不加-r命令,但是上传文件夹必须加上 -r 选项
get /123/锦绣华北旅游年票项目.xlsx C:\Users\admin\Desktop
通过get下载命令,把需要的问题下载到指定位置(如果需要下载目录 需要加 -r 选项)
由于本人技术有限,通过cmd编写了一些脚本无法自动运行,便寻找下一个方案
2、FileZilla软件
FileZilla - The free FTP solution
通过官网链接下载了此软件(界面清爽,使用方便)
安装包有免安装版和安装版两种,
打开filezilla程序就是此页面,根据需要输入主机地址、用户名、密码和端口号点击快速连接即可
提示保存密钥(根据需要选择),然后看到本地站点和远程站点,通过手动拖拽操作即可
查询了好多文档,filezilla无法实现自动化运行,继续寻找下一个方案
3、WinSCP软件
通过官方软件下载安装包,运行此安装程序
①点击标签页,站点,站点管理器出现如图所示
选择连接协议,主机名,端口号,用户名和密码点击登录即可
第一次登录会提示保存密钥(建议选择保存)
然后通过对比拖拽的方式手动复制
②通过脚本任务自动化运行(符合生产的解决方案)
a、建议第一次通过打开WinSCP软件连接,保存密钥
b、本地新建记事本,把下列脚本粘贴进去重命名为*.bat文件,根据自己实际环境进行修改测试
@echo off
set SFTP_HOST=1.1.1.1 #此处填写服务器地址
set SFTP_USER=user #此处填写连接服务器用户名
set SFTP_PASSWORD=123 #此处填写连接服务器密码
set SFTP_REMOTE_PATH=/123/ #此处填写服务器打开的路径
set LOCAL_PATH=D:\soft #此处填写本地要上传的路径
set UPLOAD_PATH=D:\soft #此处填写本地要上传的路径
set REMOTE_UPLOAD_PATH=/123/ #此处填写上传到服务器的路径
(
echo option batch abort
echo option confirm off
echo open sftp://%SFTP_USER%:%SFTP_PASSWORD%@%SFTP_HOST%
echo put %UPLOAD_PATH%* %REMOTE_UPLOAD_PATH%
echo exit
) | "C:\Program Files (x86)\WinSCP\WinSCP.com" /command /log=C:\Users\admin\Downloads\winscp.log
#此处填选择安装程序的路径并指定日志保存文件的路径 (日志文件根据需要保存,上传文件多时比较占用空间)
pause #此处测试写的pause可以看到命令执行结果,实际可以更改为 exit 自动退出
c、 测试没问题后,打开任务管理计划,新建任务,修改触发器和操作两个选项保存即可
经过测试无问题,可以正常使用,希望此文档可以帮助到大家。