Wenn die Antwort von Ignacio Vazquez-Abrams für Sie nicht wirklich funktioniert, z. B. weil das Skript eine große Anzahl von Parametern benötigt oder die Aufrufkriterien nicht trivial (oder nicht zeitgebunden) sind, können Sie einen einfachen Ansatz wählen Wrapper-Skript, rufen Sie das Wrapper-Skript in regelmäßigen Abständen auf und lassen Sie das Wrapper-Skript die aktuelle Uhrzeit überprüfen und das Hauptskript aufrufen.
Beispielsweise:
#/bin/bash
# Check to see if we should run the script now.
HOUR=$(date +%H)
MINUTE=$(date +%M)
if test $HOUR -lt 9; then exit 0; fi
if test $HOUR -eq 9 -a $MINUTE -lt 30; then exit 0; fi
if test $HOUR -eq 17 -a $MINUTE -gt 30; then exit 0; fi
if test $HOUR -gt 17; then exit 0; fi
# All checks passed; we should run the script now.
exec script.sh ... long list of parameters ...
Dies ermöglicht das Codieren von Ausführungskriterien, die komplexer sind, als es die Syntax von cron ohne weiteres zulässt, und zwar auf relativ geringe Kosten des regelmäßigen Aufrufs einer Shell und eines separaten Skripts.