cron 작업이 실행되는 동안 wget이 텍스트 파일을 생성하지 못하도록 방지하는 방법은 무엇입니까?

cron 작업이 실행되는 동안 wget이 텍스트 파일을 생성하지 못하도록 방지하는 방법은 무엇입니까?

CentOS 7에 설치된 Virtualmin에서 매시간 페이지를 실행하기 위해 다음 방법을 사용합니다.

wget https://domain.tld/index.php?page=cron > /dev/null 2>&1

그러나 cron이 실행되면 매 시간마다 다음 파일이 생성됩니다.

index.php?page=cron
index.php?page=cron.1
index.php?page=cron.2

등.

이러한 파일이 생성되지 않도록 하는 방법을 알려주십시오.

답변1

wget기본적으로 가져온 웹 페이지는 URL 끝에 있는 문서에 해당하는 이름을 가진 파일에 저장됩니다(표준 출력으로 보내지 않습니다). 파일이 이미 존재하는 경우 이름 끝에 숫자가 추가됩니다.

문서를 저장하지 않으려면 다음 위치에 저장하도록 지정하세요 /dev/null.

wget -O /dev/null 'https://domain.tld/index.php?page=cron' >/dev/null 2>&1

또는

wget --output-document=/dev/null --quiet 'https://domain.tld/index.php?page=cron'

URL을 인용하는 것도 좋은 방법입니다. URL에는 쉘에서 파일 이름 와일드카드 또는 명령 종결자로 해석될 수 있는 문자( &등 ) 가 포함되어 있는 경우 [가 있기 때문입니다.]

답변2

문제는 크론이 아닙니다. 이것이 wget기본 동작입니다. 표준 출력으로 리디렉션하려면(해당 출력을 받을 수 있도록 /dev/null) wget -O-.반품생각하다 -q. 그래서:

wget -qO- 'https://domain.tld/index.php?page=cron' > /dev/null 2>&1

하지만 저는 이 방법을 별로 추천하지 않습니다. 문제가 발생하면 어떻게 되나요? 결과가 http 200 코드인지, 내용이 예상한 대로인지 확인하는 작은 스크립트를 만드는 것이 더 좋을 것입니다.

관련 정보