크론 작업이 저장되지 않았습니다.

크론 작업이 저장되지 않았습니다.

매우 기본적인 cron 작업을 작성하려고 하는데 저장되지 않는 것 같습니다. 내가 한 일은 다음과 같습니다.

1)crontab -e

그러면 vim을 사용하여 파일이 열립니다.

2)

#!usr/bin/env python

0 23 * * 0 ~/Desktop/SquashScraper/helpfulFunctions.py

삼):wq

4) 크론탭-l

아무것도 나타나지 않고 다음 메시지가 나타납니다.

crontab: no crontab for ben 

주위를 둘러보니 비슷한 문제를 가진 대부분의 사람들이 편집 문제를 겪고 있습니다. 내 crontab은 vim에서 올바르게 열리므로 이는 문제가 되지 않는 것 같습니다.

왜 이것이 제대로 작동/저장되지 않을 수 있는지 아시나요?

고마워요, 클라이만

다음을 포함하도록 편집되었습니다. 여기에 이미지 설명을 입력하세요.

답변1

오류 메시지에서 알 수 있듯이 어떤 이유로 /usr/bin/vi컴퓨터에서 제대로 작동하지 않습니다.

crontab: "/usr/bin/vi" exited with status 1

거기서 무슨 일이 일어나고 있는지, 나갈 때 vi오류 코드가 생성된다는 것입니다. 종료 시 오류 코드가 crontab표시 되면 편집 중인 파일의 내용을 vi신뢰하지 않으며 vicrontab을 변경하지 않습니다.

작동하지 않는 이유를 더 자세히 조사해 볼 수도 있고 vi, 원할 경우 완전히 다른 편집기를 사용할 수도 있습니다. 예를 들어, 를 사용하려는 경우 vim다음을 입력할 수 있습니다.

EDITOR=/usr/bin/vim crontab -e

또는 홈 디렉토리에 crontab의 "공식" 버전을 보관할 수 있습니다. 그런 다음 홈 디렉터리에서 버전을 편집하고 마지막으로 다음 명령을 사용하여 설치합니다.

crontab filename

답변2

시스템에 따라 사용자 crontab이 에 저장됩니다 /var/spool/cron/. 이 디렉터리가 있는지 확인하세요. 또한 crontab 프로그램은 setuid로 되어 있어서 다른 사람의 crontab을 읽을 수 없으므로 이것을 확인하세요(-rw에스...):

$ ls -l /bin/crontab
-rwsr-xr-x 1 root root 57536 Sep 18  2014 /bin/crontab

귀하의 vim이 오류 코드와 함께 종료되는 것 같습니다. 항목을 "myfile" 파일에 넣고 이를 사용하여 crontab myfile설치해 보십시오. 보다 의미 있는 오류 메시지가 나타날 수 있습니다.

또한 crontab을 실행하려면 파일이 /etc/cron.deny존재해야 할 수도 있습니다(대개 비어 있음). 그렇지 않으면 오류 메시지가 나타납니다.

당신의#! @G-Man이 댓글에서 말했듯이 해당 라인은 작동하지 않습니다. 당신은 다음과 같은 것이 필요합니다

0 23 * * 0 python ~/Desktop/SquashScraper/helpfulFunctions.py

답변3

여기서는 원래 질문에 대답하지 않겠습니다. 하지만 작업을 예약하려면맥 OS 10.9+그리고 cron,네가 이런 짓을 한 건 잘못이야: crontab더 이상 사용되지 않습니다. 당신 launchctllaunchd(매뉴얼 페이지는 여기에 있습니다) 반대로.

launchd/는 /가 파일 에 사용되는 방식 과 유사하게 각 작업을 설명하는 파일 launchctl과 함께 사용됩니다 . 처음에는 불안할 수도 있지만 단일 ..plistsystemdsystemctl.servicecroncrontab -e

다행스럽게도 작업 관리를 쉽게 해주는 GUI 소프트웨어가 많이 있습니다 launchd. 제가 개인적으로 가장 좋아하는 것은발사 제어소마구 제공. 가격은 10달러이지만 소프트웨어를 무제한으로 다운로드하여 사용할 수 있습니다.


어쨌든 귀하의 경우 ~/Library/LaunchAgents/HelpfulFunctionsJob.plist파일은 다음과 같아야합니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>HelpfulFunctions.job</string>
    <key>Program</key>
    <string>/Users/bclayman/Desktop/SquashScraper/helpfulFunctions.py</string>
    <key>RunAtLoad</key>
    <true/>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>23</integer>
        <key>Minute</key>
        <integer>0</integer>
        <key>Weekday</key>
        <integer>7</integer>
    </dict>
</dict>
</plist>

<string>/Users/bclayman/Desktop/SquashScraper/helpfulFunctions.py</string>실제 경로로 변경한 다음 작업을 로드하세요.

launchctl load -w ~/Library/LaunchAgents/HelpfulFunctionsJob.plist

관련 정보