Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Verwendung von Python Crontab zum Einrichten geplanter Linux-Aufgaben

Ausführliche Erläuterung der Verwendung von Python Crontab zum Einrichten geplanter Linux-Aufgaben

高洛峰
高洛峰Original
2017-02-10 09:26:331770Durchsuche

Freunde, die sich mit Linux auskennen, sollten wissen, dass Sie crontab verwenden können, um geplante Aufgaben unter Linux einzurichten. Sie können Aufgaben mit dem Befehl crontab -e schreiben. Natürlich können Sie Konfigurationsdateien auch direkt schreiben, um Aufgaben einzurichten.

Aber manchmal möchten wir es automatisch über Skripte festlegen, beispielsweise wenn unsere Anwendung bereitgestellt wird. Wenn ein Bedarf besteht, muss man natürlich einen Weg finden, ihn zu lösen, sonst landet man in der Welt der Programmierer (einer Gruppe selbstzufriedener Affen).

Kommen wir zum Punkt: Ich möchte es einrichten, indem ich einfach eine Zeile direkt zur Konfigurationsdatei hinzufüge. Das Lesen und Schreiben von Dateien ist jedoch zwangsläufig etwas umständlich. Wenn Sie eine Aufgabe festlegen, müssen Sie überprüfen, ob die entsprechende Aufgabe bereits entsprechend den Eingabeparametern usw. festgelegt ist. Das Lesen und Schreiben von Dateien ist zwangsläufig unangemessen. Also dachte ich an die „universelle“ große Python.

Verdammt, der heutige Protagonist kommt auf die Bühne: das Python-Crontab-Modul. Direkt installieren

$ pip install python-crontab

Sie können ganz einfach geplante Aufgaben im Skript einrichten

from crontab import CronTab

# 创建当前用户的crontab,当然也可以创建其他用户的,但得有足够权限

my_user_cron = CronTab(user=True)

# 创建任务

job = my_user_cron.new(command='echo date >> ~/time.log')

# 设置任务执行周期,每两分钟执行一次

job.setall('*/2 * * * *')

# 当然还支持其他更人性化的设置方式,简单列举一些

job.minute.during(5,50).every(5)

job.hour.every(4)

job.day.on(4, 5, 6)

job.dow.on('SUN')

job.dow.on('SUN', 'FRI')

job.month.during('APR', 'NOV')

job.setall(time(10, 2))

job.setall(date(2000, 4, 2))

job.setall(datetime(2000, 4, 2, 10, 2))

# 同时可以给任务设置comment,这样就可以根据comment查询,很方便

job.set_comment("time log job")

# 根据comment查询,当时返回值是一个生成器对象,不能直接根据返回值判断任务是否#存在,如果只是判断任务是否存在,可直接遍历my_user_cron.crons

iter = my_user_cron.find_comment('time log job')

# 同时还支持根据command和执行周期查找,基本类似,不再列举

# 任务的disable和enable, 默认enable

job.enable(False)

job.enable()

# 最后将crontab写入配置文件

my_user_cron.write()

Mit dem folgenden Befehl kann überprüft werden, ob die Erstellung erfolgreich war:

$ crontab -l

Das Obige ist der gesamte Inhalt dieses Artikels Jedermanns Studie. Viel Unterstützung für die chinesische PHP-Website.

Ausführlichere Erklärungen zur Verwendung von Python Crontab zum Einrichten geplanter Linux-Aufgaben finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn