Pour ajouter une cron et la rendre accessible dans le shell il faut d’abords configurer votre environnement pour qu’il puisse pointer sur les librairies.

Etape 1 : Ajouter le script zf dans le repertoir /usr/bin/ ( zf.sh et zf.php )
Ces fichiers sont disponible dans le répertoire bin de la librairie ZendFramwork 1.x. Vous pouvez soit les copier, soit en faire un lien symbolique.

Étape 2 : configurer votre bash pour qu’il puisse reconnaitre l’alias zf.
Éditez le fichier ~/.bashrc et insérez la ligne suivante

alias zf="/usr/bin/zf.sh"

Étape 3 : Ajouter la variable globale ZEND_TOOL_INCLUDE_PATH dans votre bash. Celle-ci permettra au script zf.sh de trouver la librairie zend
Editez le fichier ~/.bashrc et insérez la ligne suivante

ZEND_TOOL_INCLUDE_PATH=/var/www/monProjet/library/Zend

Étape 4 : Faire le squelette de votre tache cli.
Voici comment MOI je les implémentes. Bien entendu, vous ete libres de placer votre fichier ou bon vous semble ! Zend est assez souple pour pouvoir être configuré/adapté de différentes manières.
Dans cet exemple nous avons configuré une librairie dédié pour notre projet que nous avons appelé foo, et placé l’ensemble de nos fichiers CLI dans un répertoir « Cronjobs ».
Notre fichier devras donc être placé dans le répertoire : /var/www/monProjet/library/Foo/Cronjobs/MytaskProvider.php
Notre tache s’appellera « Mytask » et l’action de celle-ci sera « doit ».

class Foo_Cronjobs_MytaskProvider extends Zend_Tool_Framework_Provider_Abstract
{
public function DoitCronjobs()
{
echo "Hello World !";
}
}

L’ensemble des function public seront ensuite disponible en tant que tache distinctes.

Étape 5 : Enregistrez votre tache pour qu’elle soit accessible depuis la liste des commandes de Zend.
Editez le fichier ~/.zf.ini et insérez la ligne suivante

php.include_path = "/var/www/monProjet/library/:.:/usr/share/php:/usr/share/pear"
basicloader.classes.21 = "Foo_Cronjobs_MytaskProvider"

Pour ajouter une nouvelle tache, il suffit d’incrémenter la classe (ici 21, donc passez a 22 .. et ainsi de suite).