crontab을 시작할 수 없습니다. 오류가 발생합니다

crontab을 시작할 수 없습니다. 오류가 발생합니다

안녕하세요. cronjob을 사용하여 쉘 스크립트를 제출할 때 다음과 같은 문제가 발생했습니다.

백업 도움말 명령을 첨부했습니다.

* * * * * ankush /home/ankush/test.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list

backup help list


backup: Commands are:
adddump         add dump schedule
addhost         add host to config
addvolentry     add a new volume entry
addvolset       create a new volume set
apropos         search by help text
dbverify        check ubik database integrity
deldump         delete dump schedule
deletedump      delete dumps from the database
delhost         delete host to config
delvolentry     delete a volume set sub-entry
delvolset       delete a volume set
diskrestore     restore partition
dump            start dump
dumpinfo        provide information about a dump in the database
help            get help on commands
interactive     enter interactive mode
jobs            list running jobs
kill            kill running job
labeltape       label a tape
listdumps       list dump schedules
listhosts       list config hosts
listvolsets     list volume sets
quit            leave the program
readlabel       read the label on tape
restoredb       restore backup database
savedb          save backup database
scantape        dump information recovery from tape
setexp          set/clear dump expiration dates
status          get tape coordinator status
version         show version
volinfo         query the backup database
volrestore      restore volume
volsetrestore   restore a set of volumes

내 콘솔에서 명령 흐름을 찾아보세요.

ankush@hn0-ank-d:~$ more test_script.sh
echo "test"
ankush@hn0-ank-d:~$ * * * * * ankush /home/ankush/test_script.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list
ankush@hn0-ank-d:~$

코드를 처음 실행하면 sudo apt install openafs-client를 설치하라는 메시지가 표시됩니다. 직접 가서 설치해 봤습니다.

이유는 무엇입니까?

답변1

명령줄에서 직접 crontab 작업 사양을 입력하려는 것 같습니다. 그건 작동하지 않습니다.

crontab 작업을 추가하려면 다음을 사용하십시오.

$ crontab -e

크론탭을 편집하세요. 거기에 작업 사양을 추가하고 저장한 후 편집기를 종료하세요.

귀하의 작업 사양,

* * * * * ankush /home/ankush/test_script.sh

시스템 crontab 작업처럼 보입니다. 즉, 추가 여섯 번째 필드인 사용자 이름이 있습니다(crontab 매뉴얼 참조 man 5 crontab). 여러분의 개인 크론탭에는 이것이 없어야 합니다.

나는 이것이 당신의 crontab에 있어야 한다고 믿습니다:

* * * * * /home/ankush/test_script.sh

/home/ankush/test_script.sh그러면 1분마다 스크립트가 호출됩니다. 이 작업의 결과나 오류는 귀하에게 이메일로 전송되어야 합니다.


당신이 받고 있는 비밀스러운 오류 메시지는 * * *쉘에서 명령 등을 실행하려고 할 때 발생합니다. cron 및 스크립트와는 전혀 관련이 없습니다. 쉘은 단순히 *현재 디렉토리의 모든 파일로 확장되어 명령으로 실행을 시도합니다. 분명히 첫 번째 이름은 의미가 이해되지 않는 일부 명령의 이름 *으로 확장 backup codebak되어 발생합니다 .backupcodebak

답변2

당신은 일반적인 일을 많이예약된 작업 오류. 그 중 일부는 다음과 같습니다:

  1. crontab 파일의 명령 구문 오류
  2. 스크립트 파일 경로가 잘못되었습니다.
  3. 스크립트 파일에 실행 권한이 없습니다.
  4. 구성 파일에서 선언되지 않은 변수 사용

항상 명령 구문을 확인하고 cron 로그를 확인하고 파일 및 디렉터리에 대한 권한을 확인하십시오.

관련 정보