java - 使用 WinSCP 每天在特定时间运行 JAR 文件

标签 java linux jar server winscp

我遇到了一个问题,我认为有一个简单的解决方案。我目前正在使用 WinSCP(为 FTP 设置)和 Linux 服务器来托管 Web 应用程序。

我已经创建了一个 JAR 文件 (filename.jar),我可以在 WinSCP 控制台 (java -jar filename.jar) 中手动运行它。它在修改现有表的 MySQL 数据库中运行查询。实际上,要更新我的前端(从该表查询),它需要让 filename.jar 文件每天运行两次。

我想知道解决这个问题的正确方法是什么。理想情况下,它会在每天的 00:05 和 12:05 完成。如果可以将 WinSCP 配置为专门在这些时间运行 filename.jar,那就完美了。但是,如果有一种方法可以连续运行 .jar,我认为在 filename.jar 中验证所需系统时间的 while 循环也可以正常工作。

我看过 lotsinformation关于这样做locally ,但发现对服务器执行此操作几乎没有帮助。感谢您提前提供任何帮助或想法,如果我可以改进此问题或提供更多信息,请告诉我。如果有任何资源可以清楚地解释这一点,我们也将不胜感激。我是 WinSCP 的新用户,如果你还不知道的话。

最佳答案

正如我在评论中提到的,我认为最简单的方法是在远程 Linux 服务器上执行 cron 作业。 您可以使用 crontab -e 命令编辑当前的 cron 表。 您可以查看 cron 格式 herehere .

在您的情况下,它应该看起来像这样:

5 */12 * * * java -jar /path/to/jarfile/filename.jar

这将每 12 小时 5 分钟运行一次 java -jar ... 命令。

保存后,您可以使用 crontab -l 命令检查现有的 cron 作业。 您还可以检查 CRON 条目的系统日志,以查看作业是否按预期工作。

cat /var/log/syslog | grep CRON

关于java - 使用 WinSCP 每天在特定时间运行 JAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38219207/

相关文章:

java - 导航规则/案例问题

java - 分配java颜色

c - fork /执行 : child exits when trying to redirect stdin/stdout

linux - 将多个选项合并为一个选项 (Getopts)

.net - 在 Linux 上编译 MonoDevelop 5.3 时出错

Android 和 jar 文件兼容性

java - 尝试通过 html 文件加载 java applet

java - 从 JUnit 测试用例调用部署在远程服务器中的 Camel 端点

java - 自动分析 Eclipse 插件依赖关系

java - 将 .jar 部署到 html 页面中