crontab을 사용하여 정기적으로 bash 명령을 실행하는 방법을 배우려고 합니다. 나는 먼저 crontab이 매분 표준 출력으로 날짜와 시간을 읽도록 하는 것과 같은 간단한 것을 시도해 볼 것이라고 생각했습니다. 하지만 이렇게 하려고 하면 다음과 같은 일이 발생합니다.
Nicholass-MacBook-Air-2:cron_test nick$ crontab 1 * * * * date
crontab: 1: No such file or directory
어떻게 작동하게 합니까?
감사해요,
갭
답변1
터미널에 다음 줄을 입력하십시오
crontab -e
다음 줄을 입력하고 파일을 저장합니다.
1 * * * * date >> /tmp/output.txt
잠시 후 출력 파일을 봅니다.
cat /tmp/output.txt
답변2
이 crontab
명령은 명령줄에서 cron 작업 항목을 가져오지 않습니다. 크론 작업 항목을 추가하려면 실행하여 crontab -e
편집기를 엽니다.
macOS에서는 이것이 작동하지 않으므로 cron 항목이 포함된 텍스트 파일을 준비하고 제공해야 합니다.저것입력하다 crontab
:
$ vi crontab.txt # use whatever editor you want
여기에 항목을 추가합니다.
* * * * * date >>/tmp/date.out
이 항목은 명령이 1분마다, 영원히(또는 cron 작업이 제거될 때까지) 실행되도록 예약 하고 실행될 때마다 새 출력 줄을 추가하여 date
출력을 작성합니다 ./tmp/date.out
파일을 저장하고 편집기를 종료합니다.
그런 다음 실제로 cron 항목을 로드합니다.
$ crontab crontab.txt
하지만 이 점 참고해주세요현재 사용자의 기존 crontab 항목을 모두 바꿉니다.,그렇다면.
도착하다다음에 추가macOS의 항목은 기존 항목을 유지하면서 먼저 crontab.txt
기존 crontab 항목을 사용하여 파일을 생성 및 편집하고 다시 로드합니다.
$ crontab -l >crontab.txt
$ vi crontab.txt
$ crontab crontab.txt
제거하다모두항목, 사용 crontab -r
.
macOS의 Cron은 특정 예약 시간에 대한 , 및 같은 짧은 이름도 이해할 @reboot
수 @hourly
있습니다 @daily
. @weekly
바라보다crontab(5)
수동시스템에 대해 자세히 알아보세요( man 5 crontab
).