在 Windows 中通过 sftp 获取文件

在 Windows 中通过 sftp 获取文件

我想从 Windows 使用 WinSCP(命令行)连接到 Linux 机器。并且我想获取日志。

Linux 机器上有日志

/var/log/application/
090701.log
090702.log
090703.log
090704.log
090705.log

winscp sftp://account:pass@machine:22 如何高效获取日志?

答案1

如果您正在使用脚本,我认为您该阅读 WinSCP 文档了。上次我查看时,它包含了一些示例,这些示例准确地展示了如何执行您想要的操作。

当然,如果您使用 GUI,只需将它们拖到 WinSCP 界面内的 Windows 文件夹中。

答案2

我有一个使用 winscp 脚本的类似解决方案,我的解决方案如下所示:

winscp 脚本:

option batch continue
option confirm off
open logs:*******@10.x.x.x
synchronize remote "c:\daily_logs\*" ./81/
synchronize remote "c:\daily_logs\" ./81/
close
exit

我使用 iCronService,它可以在我尝试过的每个 Windows 版本上运行,包括基于 x64 的版本,我的 crontab 如下所示:

crontab:

00 22 * * * cmd /c "winscp /console /script=c:\bin\scplogs /log=LOG_OF_SCP.LOG"

也可以先压缩日志以节省时间、带宽和空间。当然这不是最优雅的解决方案,因为密码是硬编码到 scp 脚本中的,但如果您愿意,可以用密钥替换。

答案3

您还可以使用执行程序使用如下命令行来完成该作业:

psftp.exe 用户名@服务器-be -pw 用户密码-bc:\script.txt”  

Script.txt 可能包含例如:

lcd c:\my_backup
获取/var/log/application/*

相关内容