我们在多个远程服务器上运行报告,每月在中央服务器上获取这些报告。整个过程是自动化的scp
并且运行良好。
问题是,有时我们会在单独的服务器上尝试手动运行这些报告来收集数据,这就产生了问题。这样我们的中央服务器就可以从同一台服务器获取许多文件,我们必须查找并删除这些文件。
我正在寻找如何使这个过程变得智能的想法,这样我们就不必在当月处理来自同一服务器的多个文件。
答案1
问题是,有时我们会在单独的服务器上尝试手动运行这些报告来收集数据,这就产生了问题。这样我们的中央服务器就可以从同一台服务器获取许多文件,我们必须查找并删除这些文件。
通过上述陈述,我了解到您只需要在中央服务器中保留远程服务器文件的一份副本。您可以通过仅保留远程服务器上的文件的一份副本来实现此目的。
为此,您可以在执行 scp 操作时将远程服务器名称和时间戳附加到所有文件。因此,如果中央服务器出现较新的文件,您可以使用具有最新时间戳的文件覆盖旧文件。
答案2
情侣选项:
将生成的报告的一次性手动运行分开,以便手动运行存储在其他位置,并且自动月度报告始终只包含月度报告。
或者
让生成报告的脚本接受一个可选参数,以便您可以从 cron 调用适用月份的月度报告,因此文件名类似于“current-report.June”等。因为手动运行不会包含特殊的参数,获取月度报告的进程将能够仅获取该月的报告(当然,这个示例是有限的,您可能需要月份和年份,这样如果您决定保留超过 12 个报告,就不会遇到问题月的数据)。
和上面的一样,我确信上面有无限的变化。我个人更喜欢将自动化脚本/报告与临时脚本/报告分开,但这当然意味着如果需要更改,需要进行双重维护。因此,最好允许添加到报告生成器的参数具有灵活性,以免在有人运行临时报告时破坏您的每月流程。