Най-типичната причина за "работи в shell, но не и в cron" е, че командите, които се опитвате да изпълните, не са в PATH.. Причината е, че shell, извикан от cron, не зарежда същите файлове като вашия shell за влизане.
Поправка: добавете абсолютен път към всяка команда, която се опитвате да изпълните.
Второто нещо, което забелязвам във вашата команда. Синтаксисът за изпълнение на вашата команда за дата изглежда не е много преносим. Променете това, за да бъде в обратни точки, или изпълнете поставете цялата си команда в shellscript (също така, можете да го използвате, за да зададете и своя път) и изпълнете този скрипт от cron..
РЕДАКТИРАНЕ:
По време на писането на първоначалния ми отговор моята клавиатурна подредба нямаше обратни отметки, така че проверете какво е написал Паскал.
И пример за това какво можете да направите с shellscript:
Копирайте следното в /usr/local/bin/dumptable.sh
#!/bin/sh
/usr/bin/mysqldump --host=HOST --user=USER --password=PASSWORD DATABASE TABLE | /bin/gzip > /tmp/table.`/bin/date +"\%Y-\%m-\%d"`.gz
и след това поставете /usr/local/bin/dumptable.sh в cron..
person
rasjani
schedule
20.07.2009