I have created crontab.xml in vendor/module/etc directory
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd"> <group id="default"> <job name="get_carriers" instance="Vendor\Module\Cron\GetCarriers" method="execute"> <schedule>* * * * *</schedule> </job> </group>
And create GetCarriers.php in Vendor/Module/Cron/GetCarriers.php
namespace Vendor\Module\Cron; class GetCarriers { protected $ _logger; public function __construct(\Psr\Log\LoggerInterface $ logger) { $ this->_logger = $ logger; } public function execute() { $ writer = new \Zend\Log\Writer\Stream(BP . '/var/log/cron.log'); $ logger = new \Zend\Log\Logger(); $ logger->addWriter($ writer); $ logger->info(__METHOD__); return $ this; } }
Now if i execute php bin/magento cron:run –group=”default” cron run but i want it to execute automatically every week.