# Befehl aus Plugin ausführen

**URL:** <https://forum.shopware.com/t/befehl-aus-plugin-ausfuhren/37210>\
**Category:** Programmierung\
**Created:** [3. Juni 2016 um 12:31 UTC](https://forum.shopware.com/t/befehl-aus-plugin-ausfuhren/37210 "2016-06-03T12:31:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lars3m5](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@Lars3m5](https://forum.shopware.com/u/Lars3m5)\
**Post date:** [3. Juni 2016 um 12:31 UTC](https://forum.shopware.com/t/befehl-aus-plugin-ausfuhren/37210/1 "2016-06-03T12:31:25Z")

</div>

Hi \*,

wie kann man aus SW ein Befehl (zB Aufruf&nbsp;eines&nbsp;Shellskriptes) ausführen?

PHP:&nbsp;exec(‚echo „wert“ \> ~/test/uz.txt‘); &nbsp; &nbsp; &nbsp; geht - aus einem PHP-Skript

Sobald ich das in mein CronPlugin schreibe passiert nichts. ☹

&nbsp;

Muss man da was SW spezielles tun damit Befehle ausgeführt werden.

Danke und viele Grüße, Lars

---

<div class="post-metadata">

**Author:** ![Shopwareianer](https://avatars.discourse-cdn.com/v4/letter/s/b4bc9f/32.png) [@Shopwareianer](https://forum.shopware.com/u/Shopwareianer)\
**Post date:** [3. Juni 2016 um 12:43 UTC](https://forum.shopware.com/t/befehl-aus-plugin-ausfuhren/37210/2 "2016-06-03T12:43:07Z")

</div>

Ich würde das ganze über die [Symfony Consolen Komponente](http://symfony.com/doc/current/components/console/introduction.html) machen bzw. kannst du hier eben die [Shopware CLI](https://developers.shopware.com/developers-guide/shopware-5-cli-commands/)extenden. Der Befehl kann dann über den Cron angesteuert werden.

---

<div class="post-metadata">

**Author:** ![Lars3m5](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@Lars3m5](https://forum.shopware.com/u/Lars3m5)\
**Post date:** [3. Juni 2016 um 13:04 UTC](https://forum.shopware.com/t/befehl-aus-plugin-ausfuhren/37210/3 "2016-06-03T13:04:54Z")

</div>

Also wenn ich das jetzt richtig verstanden hab kann man damit von außen eigene Befehle ausführen.

Ich würde aber gern aus SW einen Befehl ausführen. In dem Fall würde ich gern aus meinem CronJob ein Shellscript ausführen.

---

<div class="post-metadata">

**Author:** ![lenz](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@lenz](https://forum.shopware.com/u/lenz)\
**Post date:** [5. Juni 2016 um 19:44 UTC](https://forum.shopware.com/t/befehl-aus-plugin-ausfuhren/37210/4 "2016-06-05T19:44:27Z")

</div>

Hallo Lars2m5,

dein Plugin muss folgendes Event subscriben:

```
$this->subscribeEvent(
            'Shopware_CronJob_LenzCronArticleDataQuality',
            'onRun'
);

```

In der Funktion onRun steht dann dein Code:

```
public function onRun(Enlight_Components_Cron_EventArgs $args)
{
    exec('echo "wert" > ~/test/uz.txt');
}

```

Damit der Cronjop auch ausgeführt wird, musst Du in der Install-Methode noch folgenden Code unterbringen:

```
$sql = '
            INSERT INTO s_crontab (`name`, `action`, `next`, `start`, `interval`, `active`, `end`, `inform_template`, `inform_mail`, `pluginID`)
            VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
        ';
        Shopware()->Db()->query(
            $sql,
            array(
                $this->getLabel(),
                "LenzCronArticleDataQuality",
                new Zend_Date(),
                null,
                604800,
                1,
                new Zend_Date(),
                "LenzCronArticleDataQuality",
                '{$sConfig.sMAIL}',
                $this->getId()
            )
        );

```

Am besten änderst Du den Namen des Cronjobs noch von&nbsp;LenzCronArticleDataQuality in den von Dir gewünschten Namen um.

&nbsp;

Hilft Dir das weiter?

Grüße  
Sebastian // [Shopdoktor.com](http://Shopdoktor.com)
