用于每小时运行以提取数据的Shell脚本(如果存在)
我试图优化我们的批处理过程,以便将数据拉入并插入数据库。目前,我们有一个数据源,可以从中提取数据,创建文本文件,并加载到报告数据库中。我们在Autosys中有一个时间表,因为大多数时间,数据在某个特定时间可用。但是,最近,数据源已经延迟,我们无法在计划的时间内提取数据,我们必须手动运行shell脚本 我希望有一个每小时运行一次查询的shell脚本,如果数据存在,则将假脱机到一个要加载到数据库中的文件。如果数据不存在,请在下一小时再试一次,这样我们就可以消除任何手动干预用于每小时运行以提取数据的Shell脚本(如果存在),shell,unix,job-scheduling,autosys,Shell,Unix,Job Scheduling,Autosys,我试图优化我们的批处理过程,以便将数据拉入并插入数据库。目前,我们有一个数据源,可以从中提取数据,创建文本文件,并加载到报告数据库中。我们在Autosys中有一个时间表,因为大多数时间,数据在某个特定时间可用。但是,最近,数据源已经延迟,我们无法在计划的时间内提取数据,我们必须手动运行shell脚本 我希望有一个每小时运行一次查询的shell脚本,如果数据存在,则将假脱机到一个要加载到数据库中的文件。如果数据不存在,请在下一小时再试一次,这样我们就可以消除任何手动干预 我知道,如果文件存在,我可
我知道,如果文件存在,我可以在Autosys中设置一个文件触发器,以将加载运行到数据库中,但是我在设置shell脚本时遇到了问题,该脚本仅在数据可用时才拉取数据,如果文件已被假脱机,则不会在下一个小时重复。我是UNIX新手,因此不知道如何继续。任何帮助都会很好。您还没有明确说明优先顺序。优先事项可以是:
- 一旦数据可用,立即加载数据
- 至少每x分钟或小时加载一次数据
- 消除任何手动干预的需要(从您的问题中可以清楚看出)
- 增加Autosys作业的频率(不是每小时一次,可能是每30或15分钟一次)
- 更改脚本,以便:
- 它仅在上次成功加载后x分钟内尝试加载,否则不执行任何操作并以成功结束
- 将最后一次成功加载的时间戳存储在文件中(仅在成功加载时才会触及)
- 如果数据在x+一些缓冲区分钟后仍然没有到达,那么加载作业失败可能更有意义,以便获得所需的注意