cron作业应该在哪里记录其定期操作日志

时间:2015-02-16 13:59:14

标签: python linux ubuntu logging cron

考虑一个在cron作业上运行的python脚本。此特定脚本备份服务器,但此问题并非特定于该功能。

以下是要根据期间进行备份的服务器列表:

servers = {}
servers['hourly'] = ['john', 'paul', 'george', 'ringo']
servers['daily'] = ['alpha', 'beta', 'gamma']
servers['weekly'] = ['mercury', 'venus', 'earth', 'mars']

每小时运行一次cron作业:

$ crontab -l
0 * * * * /path/to/backup.py

脚本应该如何检查它是否应该运行每小时,每天或每周的cron作业?在一个完美的世界中,我会每次运行每小时的工作,如果{{1如果datetime.now().hour == 0,则运行每周作业。然而,世界并不完美,cron作业可能无法运行,或者计算机可能会关闭一段时间,因此我需要记录日志并检查它以查看是否需要运行作业。

这样做的最佳/推荐/标准/ Pythonic方法是什么?我应该使用.sqlite数据库吗?纯文本文件? 我应该在哪里存储?

我的直觉倾向是datetime.now().hour == 0 and datetime.now().isoweekday() == 0中的纯文本文件。但是,此脚本目前作为非特权用户运行,我希望保持这种方式。另外,我相信日志会很快变大,所以也许sqlite会更好,因为我会在每次运行时查询它。

目前该脚本在Ubuntu桌面上运行,但我们希望保持在Windows桌面上运行它的选项。

0 个答案:

没有答案