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 코드인지, 내용이 예상한 대로인지 확인하는 작은 스크립트를 만드는 것이 더 좋을 것입니다.