지난 몇 시간 동안 cronjob에 대해 고민했습니다. 문서와 예제를 읽었습니다. 기본과 개념은 이해했지만 제대로 작동하는 것은 없습니다. 따라서 이 완전한 멍청한 딜레마에 대한 도움을 주시면 감사하겠습니다.
궁극적인 목표는 매일 django 함수 실행을 예약하는 것입니다. 여기까지 진행하기 전에 이전 스크립트를 처음에는 한 번, 그다음에는 정기적으로 실행하도록 예약할 수 있는지 알고 싶습니다.
그래서 저는 다음을 원합니다. 1) 예, 실제로 성공적으로 실행되었는지 또는 실패했는지 확인할 수 있는 간단한 스크립트(아마도 bash 스크립트)를 작성합니다. 2) 이 스크립트가 정시에 실행되도록 예약합니다.
터미널에 일부 텍스트를 간단히 출력하는 bash 스크립트를 작성해 보았습니다.
#!/bin/bash
echo "The script ran"
그런 다음 이것을 .txt 파일에 넣었습니다.
MAILTO = *****.******@gmail.com
05 * * * * /home/vadmin/development/test.sh
그러나 아무 일도 일어나지 않았습니다. 분명 그랬을 거야많은일이 잘못됐어. 이 모든 문제를 해결하려면 어디서부터 시작해야 합니까?
답변1
실제로 그런 크론 출력을 화면에서 볼 수 있을지는 모르겠습니다.
네가 넣으면 장담해
echo "the script ran" >> /home/vadmin/file.txt
작업에서 cron이 실행 중이고 crontab이 올바르게 설치되었는지 확인하십시오(다른 답변에서 제안한 대로). 예상대로 실행됩니다.
지정한 cron은 매일 실행되지 않고 매 시간마다 5시에 실행됩니다.
답변2
cron 데몬이 실제로 실행되고 있나요? 프로세스 테이블을 확인하세요.
결과를 이메일로 보내는 데 문제가 있을 수도 있습니다. 이에 대해서는 crond 로그와 로컬 메일 서버를 확인하세요.
답변3
.txt 파일에 추가한 줄을크론탭.
모범 사례에서는 crontab 파일을 직접 편집하지 않고 crontab -e
편집기에서 crontab을 여는 명령을 사용하여 편집/저장하고 구문 오류를 확인한 후 안전하게 저장할 수 있음을 나타냅니다.
또한 시스템에 존재할 수 있는 cron의 특이한 점은 파일의 마지막 줄이 빈 줄이 아닌 경우 cron이 이전 줄을 무시한다는 것입니다. crontab 끝에 빈 줄을 하나 이상 추가했는지 확인하세요.