Lösung 1:
Ich hatte letzte Woche eine ähnliche Aufgabe. Meine Lösungen bestanden darin, die Standard-Cron-Einträge mit der gewünschten Häufigkeit zu multiplizieren. Meine Crontab sieht so aus:
* * * * * /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 10; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 20; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 30; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 40; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 50; /usr/local/bin/php /var/www/myscript.php
Wenn Sie Ergebnisse von myscript.php überprüfen möchten, z. zum Debuggen einfach
anhängen&> /tmp/myscipt.log
zu jeder Zeile in der Crontab oben. Dann werden stderr und stdout zur Protokolldatei umgeleitet.
Lösung 2:
Sie können den Job nicht alle zehn Sekunden planen, aber ich nehme an, Sie könnten den Job so planen, dass er jede Minute ausgeführt wird und in 10-Sekunden-Intervallen in einer Schleife schläft. Dies würde davon ausgehen, dass Ihr Befehl abgeschlossen ist, bevor das Zehn-Sekunden-Intervall abläuft, oder Sie erhalten eine Überlappung, wenn der nächste Befehl ausgeführt wird. Dies fühlt sich wie eine prekäre Lösung an, aber wenn Sie eine sehr kurze Ausführung des Hauptbefehls des Skripts garantieren können, würde es funktionieren.
#!/bin/bash
i=0
while [ $i -lt 6 ]; do
/run/your/command &
sleep 10
i=$(( i + 1 ))
done