Crontab:使用 Python 并发送电子邮件附件

Crontab: Using Python and sending email attachment

我目前有一个 python 文件,由下面的 crontab 执行。它目前正在 运行 Python 文件中工作,它将通过电子邮件发送电子邮件正文中的输出,并且还有一个包含相同数据的附件。如果我只想拥有附件(而不是在电子邮件中显示数据的输出),我该如何修改我的 cronjob 来执行此操作?

Python 文件:osversion_weekly.py

#! /usr/bin/python

import commands, os, string
import sys
import fileinput


output = os.system('uptime')
output = os.system('df')
output = os.system('top')
output = os.system('ps')

Crontab 作业:

04 19 17 10 2 /root/python/osversion_weekly.py | tee /root/python/osversion`date +\%Y-\%m-\%d-\%H:\%M`-cron.csv | mailx -s "Daily Report" -a "/root/python/osversion`date +\%Y-\%m-\%d-\%H:\%M`-cron.csv" myemail@apple.com

我的 mailx 版本与您不同,因此我无法对此进行测试,但我怀疑如果将命令替换为以下命令,您会得到想要的结果:

/root/python/osversion_weekly.py > /root/python/osversion`date +\%Y-\%m-\%d-\%H:\%M`-cron.csv; echo "" | mailx -s "Daily Report" -a "/root/python/osversion`date +\%Y-\%m-\%d-\%H:\%M`-cron.csv" myemail@apple.com

这会将脚本的内容写入文件,然后(希望如此)附加它。