crontab에서 파일 내용을 인수로 사용하는 방법

crontab에서 파일 내용을 인수로 사용하는 방법

단일 IP 주소가 포함된 파일("IPcontainer")이 있는데 다음과 같이 사용하고 싶습니다.

6tunnel 80 $(< IPcontainer) 80

불행하게도 이것은 다음과 같이 cronjob으로 사용할 때가 아니라 손으로 수행할 때만 작동합니다.

0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80

내가 아는 한 cron은 절대 경로에 의존합니다.

작동하려면 어떻게 변경해야 합니까?

답변1

이는 기본적으로 구문을 cron지원 /bin/sh하지 않기 때문입니다.$(< file)

당신은 교체 할 수 있습니다

$(< /home/<MYUSERNAME>/IPcontainer)

POSIX에 의해

$(cat /home/<MYUSERNAME>/IPcontainer)

또는 cronbash를 명시적으로 사용하라고 지시하세요.

SHELL=/bin/bash
0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80

또한보십시오

관련 정보