我在ubuntu 16.04中设置了一个crontab,以通过PHP脚本从/var/www/html/import/IMPORT-DATA.CSV
获取数据。
*/5 * * * * php /var/www/html/cron/import-csv.php
它工作正常,并且在获取数据后,我的PHP脚本将删除文件(/var/www/html/import/IMPORT-DATA.CSV
)。
我想在Linux(crontab或其他工具)中设置一个脚本,如果将PHP script
文件上传到目录IMPORT-DATA.CSV
答案 0 :(得分:0)
一种可以分发任务的方法是3种不同的脚本并将它们链接到cron中。
*/5 * * * * php /var/www/html/cron/import-csv.php && /var/www/html/cron/YOUR_PERFORM_SOME_OTHER_TASK_PHP_SCRIPT && /var/www/html/cron/YOUR_DELETE-CSV-SCRIPT.php
&&
将确保下一个脚本仅在前一个脚本运行时运行
成功运行。
答案 1 :(得分:0)
我可以想到几种方法:
inotify
设置inotify-tools.
观察者(您也可以使用PHP创建自己的观察者(inotify extension),但这可能会抵消任何性能提升,因为您拥有实例不断运行。)还有第三种选择::如果您只是想避免调用PHP只是为了查看文件不存在,可以在调用您的bash文件之前先进行链接PHP脚本。 cron调用仍然每5分钟运行一次,但仅在文件存在的情况下才调用PHP。 (请注意,我尚未对此进行完全测试,但相当有信心。)
SHELL=/bin/bash
*/5 * * * * test -e /var/www/html/import/IMPORT-DATA.CSV && php /var/www/html/cron/import-csv.php