Назад | Перейти на главную страницу

Сценарий оболочки выполняется только частично при запуске с CRON

Я написал сценарий оболочки, который выполняет следующие действия:

Скрипт запускается хорошо вручную и технически бежит от CRON, но кажется, что он отправляет электронное письмо. Биты getmail и S3 не работают.

Кажется, что все, что я прочитал, наводит на мысль о том, что мне нужно быть осторожным с относительными путями и т.п. при использовании CRON, но я считать Я использую абсолютные пути везде, где мне нужно быть, поэтому я не понимаю, в чем может быть проблема.

Мой сценарий оболочки находится здесь:

#!/bin/bash

# Run GetMail
getmail -r /PATH/TO/EMAIL/getmail.email

# Save to S3
aws s3 cp /PATH/TO/SCRIPT/email-backup.mbox s3://XXXXXXXXXX/email-backup.mbox 

# Send Confirmation Email

SUBJECT="EMAIL SUBJECT"
EMAIL="My@EMAIL.COM"

# Get current filesize
FILENAME=/PATH/TO/SCRIPT/email-backup.mbox
FILESIZE=$(stat -c%s "$FILENAME")

# Email Content
EMAILMESSAGE="/tmp/emailmessage.txt"
echo "EMAIL BODY" >$EMAILMESSAGE
echo "" >>$EMAILMESSAGE
echo "Current File Size: $FILESIZE bytes" >>$EMAILMESSAGE

# Send the Mail
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE

У меня была аналогичная проблема, потому что CRON может быть довольно привередливым. Я предполагаю, что вам нужно добавить путь к команде aws, например:

/usr/local/bin/aws s3 cp /PATH/TO/SCRIPT/email-backup.mbox s3://XXXXXXXXXX/email-backup.mbox 

Удачи!