У меня на raspbian запущены следующие скрипты.
Начало
#!/bin/bash
/root/config/commands 2>&1 > /root/log/$HOSTNAME.log
команды
#!/bin/bash
source /root/config/variables
echo TestLine
/usr/bin/lftp ftp://user:pass@host.com -e "set ftp:ssl-allow no ; set net:reconnect-interval-base 5 ; set net:max-retries 2 ; mirror -e /testgroup/music /root/media ; quit"
/usr/bin/mail -s "$HOSTNAME Report" $emailaddress < $logdir/$HOSTNAME.log``
Когда я запускаю "Пуск" вручную, я получаю письмо ниже
TestLine
Total: 1 directory, 4 files, 0 symlinks
Когда я запускаю его с помощью cron, я получаю следующее электронное письмо
TestLine
Вот как настраивается crontab -e
@daily /root/start
Любая идея, почему cron удаляет вывод lftp из электронной почты?
cron не работает в той же среде, что и интерактивная оболочка. Ваш $HOSTNAME
переменная не установлена.
Вы можете установить его в начале вашего скрипта следующим образом:
HOSTNAME="`/usr/bin/hostname`"
Я сам некоторое время боролся с этой проблемой. Решил пойти с screen
. Например.
screen -dmS screen_name bash -c '/root/start'