>백엔드 개발 >파이썬 튜토리얼 >Python crontab을 사용하여 Linux 예약 작업을 설정하는 방법에 대한 자세한 설명

Python crontab을 사용하여 Linux 예약 작업을 설정하는 방법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-02-10 09:26:331815검색

Linux에 익숙한 친구라면 crontab을 사용하여 Linux에서 예약된 작업을 설정할 수 있다는 것을 알아야 합니다. crontab -e 명령을 통해 작업을 작성할 수 있습니다. 물론 구성 파일을 직접 작성하여 작업을 설정할 수도 있습니다.

그러나 때때로 애플리케이션이 배포될 때와 같이 스크립트를 통해 자동으로 설정하고 싶을 때가 있습니다. 필요하다면 당연히 그것을 해결할 방법을 찾아야 하고, 그렇지 않으면 결국 프로그래머의 세계(자기만족에 빠진 유인원 집단)에 빠지게 될 것입니다.

본론으로 들어가겠습니다. 파일을 작성하여 설정하고 싶습니다. 구성 파일에 직접 한 줄만 추가하면 됩니다. 그러나 파일을 읽고 쓰는 것은 필연적으로 약간 번거롭습니다. 또 다른 예는 작업을 설정할 때 입력 매개 변수 등에 따라 해당 작업이 이미 존재하는지 확인해야 합니다. 파일을 읽고 쓰는 것은 필연적으로 부적절합니다. 그래서 나는 "보편적"인 큰 비단뱀을 생각했습니다.

Dang Dang 오늘의 주인공은 python-crontab 모듈입니다. 직접 설치

$ pip install python-crontab

그러면 스크립트에서 예약된 작업을 쉽게 설정할 수 있습니다

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()

다음 명령을 사용하여 생성이 성공했는지 확인할 수 있습니다.

$ crontab -l

위 내용은 모두의 학습에 도움이 되기를 바라며, 모두가 PHP 중국어 웹사이트를 지지해주기를 바랍니다.

Python crontab을 사용하여 Linux 예약 작업을 설정하는 방법에 대한 자세한 설명은 PHP 중국어 웹사이트의 관련 기사를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.