Почему скрипт работает руками, но не из cron
- PATH. У cron он минимальный. Пишите полные пути к программам или задайте
PATH=в начале crontab. - Окружение. Ваш
.bashrcне читается. Нужные переменные задавайте в самом скрипте. - Знак %. В строке crontab он означает перевод строки, его надо экранировать:
date +\%F.
И всегда перенаправляйте вывод в файл: ... >> /var/log/myjob.log 2>&1 — иначе ошибки уходят в никуда.