解析crontab文件并在下一次将以类似于人的形式执行计划的作业时打印

时间:2018-12-02 19:38:07

标签: python cron

我有这个脚本,以前有一些问题,但是无论如何,现在它可以正常工作了。

import croniter
import datetime
import re

now = datetime.datetime.now()

def main():

    f = open("/etc/crontab","r")
    f1 = f.readlines()
    for x in f1:
        if not re.match('^[0-9*]', x):
            continue
        a = re.split(r'\s+', x)
        cron = croniter.croniter(' '.join(a[:5]), now)
        cron.get_next(datetime.datetime)
        print(x)

if __name__ == "__main__":
    main()

这将打印我的crontab文件的内容,如下所示:

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

没关系,但是出于某种原因,我使用croniter,我可以通过简单地执行以下操作来达到此结果:

    def main():

        f = open("/etc/crontab","r")
        f1 = f.readlines()
        for x in f1:
            print(x)

    if __name__ == "__main__":
        main()

我正在寻找的是以类似于人的方式打印此内容,例如this answer

有什么想法吗?

0 个答案:

没有答案