【问题标题】:Batch script output to website批处理脚本输出到网站
【发布时间】:2015-09-08 10:52:48
【问题描述】:

我在我的 DC 服务器上设置了一个批处理脚本来监控我的互联网连接和其他事情,但我希望它改为在线托管在我的网站上。

有谁知道如何将结果输出到服务器上托管的日志文件中?

这在本地非常有效:

@ECHO OFF
:LOOPSTART
echo %date% >> Google-log.txt
echo %time% >> Google-log.txt
ping 8.8.8.8 -n 4 >> Google-log.txt
GOTO LOOPSTART

但是我希望它出现在我的网站上,这样我就可以看到结果,而无需登录服务器查看日志。

大概是这样的吧?

@ECHO OFF
:LOOPSTART
echo %date% >> 173.252.120.6\Google-log.txt
echo %time% >> 173.252.120.6\Google-log.txt
ping 8.8.8.8 -n 4 >> 173.252.120.6\Google-log.txt
GOTO LOOPSTART

但是我不确定如何授权用户编辑文件?是否可以通过批处理脚本 SSH 到服务器?

任何帮助将不胜感激。

【问题讨论】:

  • 假设都是windows网络,>> \\servername\sharename\google-log.txt
  • 不幸的是它是一个外部服务器,虽然我可以设置一个 VPN 以便它在同一个网络上

标签: windows batch-file ssh


【解决方案1】:

如果您可以通过 FTP 访问 Web 服务器,则可以轻松配置 ftp 脚本。 Windows 附带的 ftp 客户端允许您提供 -s 标志来指定脚本文件: ftp -s:myscript.txt

myscript.txt(未经测试):

打开 173.252.120.6

cd 日志

输入 Google-log.txt

退出

您可以通过在命令提示符窗口中启动 ftp 客户端并输入 help 来查找更多信息。

【讨论】:

  • 我不敢相信我没有想到 FTP。我将研究通过批处理脚本来执行此操作,以使用 ping 测试循环上传。干杯杰森:-)
【解决方案2】:

如果您有 SSH 访问权限,您很可能也可以使用 SFTP。所以使用任何命令行 SFTP 客户端来上传输出。

例如WinSCP:

@ECHO OFF
:LOOPSTART
echo %date% > Google-log.txt
echo %time% >> Google-log.txt
ping 8.8.8.8 -n 4 >> Google-log.txt

winscp.com /log=winscp.log /command ^
    "open sftp://user:password@173.252.120.6/" ^
    "put -append Google-log.txt" ^
    "exit"

GOTO LOOPSTART

注意输出文件如何在每个循环中被覆盖(> 而不是在第一个 echo 之后的>>)并附加到远程文件(-append 开关),而不是重新上传整个文件每次都记录。

详情请见guide to automating SFTP/FTP transfers with WinSCP

(我是 WinSCP 的作者)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多