【问题标题】:What strategy should I use to periodically extract information from a specific folder我应该使用什么策略来定期从特定文件夹中提取信息
【发布时间】:2021-02-03 11:26:17
【问题描述】:

通过这个问题,我想获得一些见解/验证我的想法是否正确。

请求如下:我想在服务器上创建一个数据库。此数据库应通过添加存在于不同计算机上的某个文件夹中的信息来定期更新。服务器和计算机都在同一个网络中(我可能会遇到一些防火墙问题)。

所以我正在考虑使用的方法如下。在两个系统之间创建隧道。我将运行一个脚本,该脚本会定期(每小时或每天)搜索指定目录,将文件转换为数据并将其添加到数据库中。我打算用python,我比较熟悉。

注意:我认为我无法在带有文件的电脑上安装 python。

这完全可行吗?我的方法可靠吗?如果需要其他信息,请告诉我。

【问题讨论】:

    标签: python database scheduled-tasks


    【解决方案1】:

    在两个系统之间创建一个隧道。

    如果您的意思是在两台机器之间设置防火墙以允许连接,那么是的。只需打开 postgresql 端口。检查 postgresql.conf 的端口号,以防它不是默认的。还要在pg_hba.conf中设置正确的权限,这样电脑的ip就可以连接到它了。

    我将运行一个脚本,该脚本会定期(每小时或每天)搜索指定目录,将文件转换为数据并将其添加到数据库中。我打算用python,我比较熟悉。

    是的,这很标准。没问题。

    注意:我认为我无法在带有文件的电脑上安装 python。

    在 Windows 上,您可以为所有用户或仅为当前用户安装 anaconda。后者不需要管理员权限,所以这可能会有所帮助。

    如果你不能安装python,那么你可以使用一些python工具将你的python程序变成一个包含所有库的可执行文件,所以你只需将它放到计算机上的一个文件夹中并执行它。

    如果您绝对不能安装任何东西或执行任何程序,那么您将不得不创建一个计划任务以通过网络将数据复制到具有 python 的计算机,并在那里运行 python 脚本,但这是额外的复杂性。

    如果源计算机自动备份到服务器,您也可以将备份用作数据源,但会根据运行频率而有所延迟。

    【讨论】:

    • 感谢您的快速回复!一个潜在的问题(我不熟悉这件事)是服务器将在 linux 上运行,而桌面将运行 windows 10。但我认为我将能够解决这个问题。一位朋友建议使用 cronjob 来安排任务,这是我将首先尝试的。
    • 将 windows postgres 客户端连接到 linux postgres 服务器没有问题,但如上所述确保客户端 ip 在 pg_hba.conf 中获得授权。 cron 是一个 linux 工具,所以如果桌面运行 windows 10 它不会有 cron,而是使用任务调度程序。
    猜你喜欢
    • 2015-09-08
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多