q-alliance/crontab-manager

v0.7.0 2020-11-02 09:05 UTC

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