Cron Jobs and Email Attachments

0

Espero que alguém possa me ajudar aqui. Eu procurei em todos os lugares e perguntei a um amigo, mas não consegui encontrar nada. Eu tenho um script python que lê alguns arquivos, corrige alguns números de código de barras e, em seguida, e-mails, usando smtplib, os 2 arquivos como anexos. O script é executado corretamente na linha de comando, ambos os anexos são enviados com o email. Mas, do Cron, o email é enviado, mas os anexos não são. Alguém sabe se há uma configuração que precisa ser alterada ou se deve haver alguma outra coisa no script python para permitir que o Cron envie os anexos?

Aqui está minha linha no crontab, nada extravagante

15 01 * * * /home/user/folder/./script.py

Estou usando o cron para enviar outros e-mails de scripts python e não tive nenhum problema. A única diferença é que nenhum dos outros tem anexos.

Se alguém ouviu falar disso e pode ajudar, seria ótimo! Se você precisar de parte ou todo o código python, por favor me avise.

Obrigado

    
por Tim 17.01.2018 / 01:22

1 resposta

0

Caso alguém tenha esse problema, eis como resolvi o problema, provavelmente há muitas outras maneiras e, se alguém tiver um problema melhor, avise-me.

O Cron não estava executando o script no ambiente correto, portanto, ele poderia executar o script, mas estava procurando no diretório errado pelos anexos. Não foi possível encontrá-los. O que eu fiz foi escrever um script de shell assim:

#!/bin/bash
cd /path/to/directory
python file.py

Isso permite que o ambiente seja alterado para o diretório no qual eu quero trabalhar. Agora, os anexos são encontrados, pois o script e os anexos estão no mesmo diretório.

Eu alterei o trabalho do Cron para executar o script de shell:

30 01 * * * /path/to/script/./script.sh

Não tenho certeza se isso é apenas uma solução ou uma solução real, mas funciona e é bom para mim!

    
por Tim 18.01.2018 / 14:47