Crontab을 통해 Python 스크립트 실행
종종 우리는 효율성과 건전성을 위해 프로세스를 자동화해야 하는 상황에 처하게 됩니다. 직원들에게 정기적으로 이메일을 보내는 것부터 3개월마다 일부 애플리케이션에 대한 라이센스를 갱신하는 것까지 무엇이든 될 수 있습니다.
Crontab은 Cron 테이블에서 파생됩니다. Cron은 자동화에 도움이 되는 Unix, Solaris 및 Linux 운영 체제에서 제공하는 자동화 유틸리티입니다.
이 기사에서는 Crontab을 탐색하고 이를 사용하여 Python 스크립트를 실행하는 방법을 살펴봅니다.
Linux/Unix/Solaris의 Crontab
Cron은 /etc/init.d
스크립트에서 시스템이 부팅될 때 실행되는 데몬입니다. 필요한 경우 init
스크립트를 사용하거나 crond
를 통해 데몬을 시작/재시작 또는 중지할 수도 있습니다.
Crontab 또는 Cron 테이블은 목록 형식의 무수한 명령을 포함하는 파일입니다. 이러한 명령 또는 cron 항목은 특정 시간에 실행되도록 설정됩니다.
일반적으로 cronjobsCrontabs
로 알려진 이 파일의 명령은 일반적으로 시스템을 관리, 유지 또는 관리하는 데 사용됩니다. 예를 들어 백업과 같이 정기적으로 필요한 다른 작업에도 사용할 수 있습니다.
각 사용자는 자신만의 Crontab을 가질 수 있습니다.
각 Crontab 파일에는 분, 시간, 일(날짜), 월, 일을 지정하는 5개의 필드가 있으며 마지막으로 이 모든 것 뒤에는 이전에 지정된 시간에 실행될 것으로 예상되는 명령이 옵니다.
Crontab을 효율적으로 유지하기 위한 몇 가지 팁은 다음과 같습니다.
- 공백을 삽입하여 각 필드를 구분합니다.
- 쉼표를 삽입하여 여러 값을 구분합니다.
- 하이픈(
-
)을 삽입하여 값 범위를 지정합니다. - 필드에 가능한 모든 값을 포함하려면 별표(
*
)를 삽입하십시오. - 줄 시작 부분에 해시(
#
)를 사용하여 설명을 추가하거나 파일에 빈 줄을 삽입합니다.
Linux/Unix/Solaris의 Cron 작업 또는 Cron 일정
Cron 작업 또는 Cron 일정은 명령을 실행할 시간과 요일을 지정하는 특정 지침 또는 명령 집합입니다. cron 테이블 내에 여러 실행 명령이 있을 수 있습니다.
Crontab을 통해 Python 스크립트 실행
Python 스크립트는 다음과 같은 간단한 단계에 따라 Crontab의 도움으로 실행할 수 있습니다.
-
실행할 Python 스크립트를 찾거나 정의하십시오.
-
작업하려는 터미널에서
crontab -e
명령을 실행합니다. -
이제
i
를 눌러 편집 모드로 들어갑니다. -
실행할 Python 스크립트의 경로를 지정할 수 있는 예약된 명령을 입력합니다.
-
Esc 버튼을 눌러 편집 모드를 종료할 수 있습니다.
-
:wq
명령을 사용하여 Crontab을 만들고 작성합니다.
크론탭의 예
다음은 다양한 시나리오에서 Crontab이 어떻게 보이는지에 대한 몇 가지 예입니다.
-
컴퓨터의 특정 위치 또는 경로에서 매일 특정 시간에 일부 임시 파일을 제거합니다.
30 18 * * * rm /home/someuser/tmp/*
-
7일마다 실행되는 몇 가지 명령:
0 0 */7 * * shell_command_here
-
매분 시스템에서 스크립트 실행:
* * * * * cd/Users/name/Automation && /usr/bin/python testing_crontabs.py
이제 우리만의 스크립트를 생성하고 Crontab을 통해 실행해 봅시다. 다음은 이 기사에서 사용할 Python 스크립트입니다.
예제 코드:
#! /usr/bin/python3
import sys
from datetime import datetime
def main(args):
result = 1
for arg in args[1:]:
result *= int(arg)
print(f"Result: {result} on: {datetime.now()}.")
if __name__ == "__main__":
main(sys.argv)
출력:
이제 선택한 터미널에서 sudo chmod +x main.py
명령을 실행하여 파일을 실행 가능하게 만듭니다.
이제 터미널에서 crontab -e
를 실행하고 제공된 옵션에서 편집기를 선택하라는 메시지가 표시되면 이 기사에 대해 nano를 선택하고 다음 cron 명령을 추가합니다.
*/2 * * * * /home/$(USER)/myscript.py 1 2 3 4 5 >> /home/$(USER)/outputfile.txt
USER
를 특정 시스템의 사용자 이름으로 바꿔야 합니다. 편집기를 저장하고 종료하면 이제 Crontab이 준비되어 작동합니다.
우리가 어떻게 알아? Crontab에 따르면 스크립트는 2분마다 실행되어야 합니다.
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn