q-alliance / crontab-manager
Crontab Manager
v0.7.0
2020-11-02 09:05 UTC
Requires
- symfony/process: >3.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpstan/phpstan: >0.11
- phpunit/phpunit: ^7.3
README
安装
$ composer require q-alliance/crontab-manager
使用
- 创建一个读取器,将用户名作为参数发送(使用常识,如果你以joeaverage用户运行,则不能设置root crontab)
- 创建一个写入器并将读取器注入其中
- 运行更新,使用要添加的cron作业数组
例如
<?php use QAlliance\CrontabManager\Factory; $listOfCronjobs = [ '3 */4 * * * /home/test/dev/bittrex-logger/bin/console bittrex:fetch --verbose', '9 */12 * * 0 /home/test/keke/vendor/bin/foobar run --die', '11 1 * * 1 /usr/bin/php /var/www/sample.q-software.com/bin/console app:timerweekteamwork', ]; $writer = Factory::createWriter('www-data'); $writer->updateManagedCrontab($cronJobs);
- 所有用户的当前cron作业将保持不变
- 将使用提供的列表添加一个新
block
的cron作业到crontab - 此块由该库管理 - 如果你从数组中添加或删除作业,它们将在你运行updateMangedCrontab方法时更新
- 另请参阅根目录中的example.php
杂项 & TODO
- 测试
- 创建一个symfony bundle以与Symfony 4框架集成
- CLI命令可以通过composer install运行,以在每次新版本发布时自动更新您的crontabs