我使用crontab启动一个sh脚本,用" MyApp.exe"创建一个xml文件(" MyXML")。使用来自" SpecificDirectory":
的配置文件#!/bin/bash
cd ~/MyDirectory
mono MyApp.exe ./SpecificDirectory
然后还有另一个cron选项卡将MyXML文件处理到数据库中。
1 7 * * * php /var/www/html/artisan xml:process MyXML >> /var/log/xml-process.log 2>&1
我可以将这个artisan xml进程添加到shell脚本中,所以它不是由crontab执行的,而是在exe完成创建MyXML后立即执行的?
如果是,那会是什么样的?
有时创建需要更长时间,即使xml尚未完全创建,xml:进程也会启动。
如果相关,我会使用Ubuntu 16.04。
答案 0 :(得分:1)
据我了解,您目前正在运行cron
中的两个单独计划的任务。
shell脚本包含一系列命令,除非另有说明,否则这些命令将按照它们出现的顺序逐个执行。
如果php
命令完成后应始终执行mono
命令,则只需将其添加到该脚本的底部并删除单独的cron
条目:
#!/bin/bash
cd ~/MyDirectory
mono MyApp.exe ./SpecificDirectory
# it may be necessary to change directory here
# (but it doesn't look like it, since you're using absolute paths)
php /var/www/html/artisan xml:process MyXML >> /var/log/xml-process.log 2>&1