Я написал сценарий оболочки, который выполняет следующие действия:
Скрипт запускается хорошо вручную и технически бежит от 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
Удачи!