Ce qui suit fonctionne comme prévu comme prévu: mais aucune des 4 entrées suivantes de crontab ne fonctionne. p> Je peux enregistrer le même code dans un script shell et définir le cron, mais j'aimerai savoir s'il est possible de définir directement un cron pour la tâche. P> Le cron réel Entrée que j'essaie de définir regarde quelque chose comme ça ... p>
3 Réponses :
Tant qu'il n'y ait aucun espace dans la chaîne de format fournie comme argument à ce jour, vous ne devez pas avoir besoin des ticks du tout.
date +%d-%b-%Y-%H-%M
J'ai enlevé les devis comme mentionné ci-dessus et cela ne marche toujours pas de cron. Il fonctionne bien d'une ligne de commande.
Vous utilisez une syntaxe non prise en charge par / bin / sh. Essayez d'appeler votre coquille préférée et de passer la commande comme un argument. P>
Il y a quatre causes communes pour les commandes du travail cron de se comporter différemment par rapport aux commandes saisies directement dans une coque interactive:
$ chemin code> et d'autres variables attendues manquantes. LI>
- cron invoque
/ bin / sh code> Par défaut, alors que vous utilisez une autre coque de manière interactive. li>
- cron traite le caractère
% code> spécialement (il est transformé en une nouvelle ligne dans la commande). LI>
- La commande peut se comporter différemment car elle n'a pas de terminal disponible. Li>
ul>
Vous devez précéder tous les caractères % code> avec un fichier \ code> dans un fichier crontab, qui indique au cron de simplement mettre un % code> Dans la commande, par exemple p> xxx pré> (comme une question distincte, mettez toujours des citations doubles autour d'un "$ variable_substitution" code> ou un ou un "$ (substitution de commande) " code>, à moins que vous sachiez pourquoi ne pas le faire dans un cas particulier. Sinon, si le contenu variable ou la sortie de commande contient des espaces ou ? * \ [ code>, ils seront interprétés par la coquille.) p> p>
Si vous résolvez votre problème, veuillez le poster comme une réponse.
58 13 * * * / usr / bin / mysqldump -uroot -password --Compact -Compact --Databases DB1 DB2 DB3 DB4 | Zip> / Accueil / Développement / Sauvegarde / Central_MyDT $ (Date + '\% D \% M \% Y'). ZIP
Dupliqué possible de Comment est% spécial à Crontab?