基于PHP的crontab定时任务管理

linux的crontab一直是服务器运维、业务开展的利器。但当定时任务增多时,管理和迁移都变得很麻烦,而且容易出问题。下面提供了一个使用php编写的crontab管理器,但仍需要在crontab下添加一个一分钟执行一次的叫来来运行这个管理器。通过这个管理器,可以实现以下目的: 分布式定时任务集中化管理 多条crontab记录合并 crontab记录持久化存储(配置文件或数据库) 这里不建议你使用数据库进行crontab配置管理,除非你能够保证数据库的请求能够在长时间内保持稳定响应的话。推荐使用nosql类型的cache存储,同时做好持久化备份。 废话不多说,上一段测试代码: define(‘DS’, DIRECTORY_SEPARATOR); require dirname(__FILE__) . DS . ‘vendor’ . DS . ‘autoload.php’; date_default_timezone_set(‘PRC’); error_reporting(E_ALL); $crontab_config = [     ‘test_1’ => [         ‘name’ => ‘服务监控1’,         ‘cmd’ => ‘php -v’,         ‘output’ => ‘/tmp/test.log’,         ‘time’ => ‘* * * * *’     ],     ‘single_test’ […]

Read more