【问题标题】:Invoke a shell script on particular time which is read from a file在特定时间调用从文件中读取的 shell 脚本
【发布时间】:2014-05-24 04:41:22
【问题描述】:

我的要求是根据从 csv 文件读取的时间运行 unix 脚本。

Csv 文件将包含 24 小时制的内容和时间,脚本应从中读取时间并调用将执行任务的脚本。这应该是连续的

如果有 100 行,则应读取时间并运行脚本,并且与该时间匹配对应的其他列详细信息应作为参数。

示例 csv:

Worflow 1,Folder 1,Dev,10:30
Worflow 2,Folder 2,Dev,11:30
Worflow 3,Folder 3,Dev,12:30
Worflow 4,Folder 4,Dev,13:30

脚本将读取第 4 列并检查当前时间是否匹配它应该将 1,2,3 列值作为参数传递给调用脚本。它应该连续运行。

任何帮助都将不胜感激

ksh,AIX 机器上的 sh

【问题讨论】:

  • 为什么不用操作系统自带的调度?
  • 嘿,对不起,我是 unix 的新手,不太了解这一点,我使用 putty 从 Windows 机器连接到 unix。那里有可能吗
  • 您描述的功能由 UNIX 工具 cron 提供。谷歌一下就行了。

标签: unix awk sh ksh


【解决方案1】:

根据您对评论的回复,我不确定您是否需要持续监控该文件。如果没有,您可以尝试使用crontab 执行脚本。这将允许您指定运行脚本的特定日期、时间、间隔等。要编辑您的 crontab,请尝试从命令行输入crontab -e,看看它是否会将您转储到某种编辑器中。如果需要,您甚至可以编写一个每分钟执行一次的脚本,并解析其中包含运行时间的文件,并在满足时间条件时执行您的其他脚本。

【讨论】:

  • 感谢您的回复很有帮助,任何用于检查 csv 文件和读取时间的输入
  • 我可能会编写一个 awk 脚本,将 csv 文件转换为类似用于 crontab 的文件,然后按照建议的here 使用crontab importjobs.txt 将其导入。请记住,如果您每分钟都使用 crontab 运行您的翻译器/导入器,那么您需要将该作业包含在导入列表中,以便 cron 继续运行它。
猜你喜欢
  • 2023-04-02
  • 2019-10-15
  • 2020-06-18
  • 2017-09-01
  • 2022-11-14
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多