我想从 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/*