내 /etc/crontab
파일에는 다음이 있습니다.
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
이것이 실제로 무엇을 하는지는 알지만 명령줄을 이해하지 못합니다.
"테스트"라는 남자는 전혀 도움이 되지 않습니다.
test - check file types and compare values
어떤 도움이라도 대단히 감사하겠습니다.
답변1
FreeBSD에서 man test
: [1]
-x file True if file exists and is executable. True indicates only
that the execute flag is on. If file is a directory, true
indicates that file can be searched.
그래서 cronjobs는 그것이 anacron
설치되었는지 테스트하고 [2] (즉, 예상 위치에 anacron이라는 실행 파일이 있음) 무언가를 실행합니다.그렇지 않다면- 즉, 해당 폴더의 스크립트입니다 /etc/cron.*
.
(1)Bash의 내장 옵션에는 test
동일한 -x
옵션이 있습니다
(2) Anacron은 항상 실행되지 않는 컴퓨터, 즉 실행할 작업이 있는 경우를 위해 설계된 크론 대체 프로그램입니다.주간, 실행됩니다주간, 컴퓨터 가동 시간 대비즉, 매주 금요일이 아니라 가동 시간 24*7시간마다 실행된다는 의미입니다. (편집하다다 틀렸어요 댓글 보세요)
답변2
동일한 작업을 [ -x <filename> ]
수행하여 파일이 존재하고 실행 가능한지 테스트하는 데 익숙할 수 있습니다 .test -x <filename>
답변3
매뉴얼 페이지에 인용된 대로 test는 조건식 expr을 평가하고 반환 상태로 종료된다는 점에서 eval과 매우 유사합니다. 테스트는 파일 유형을 표현식으로 결정하는 데 사용되는 경우가 많습니다. 이 경우 테스트는 true 또는 false를 반환하는지 확인하는 데 사용됩니다. crontab에서 test -x filename
파일 이름이 표현식으로 사용됩니다. 이는 와도 같습니다 [ -x filename ]
. 파일이 존재하고 실행 가능하면(비트 세트) true를 반환합니다.
man test
파일 조건식 및 기타 유효한 셸 표현식을 평가하기 위한 다양한 유형의 옵션에 대한 명시적인 세부 정보가 제공됩니다.
예를 들어:
test -1 -gt -2 && echo yes
yes로 인쇄됩니다.
test 0x100 -eq 1
오류 --> 테스트: -eq 앞에 정수 표현식이 필요합니다.