리눅스 : 주어진 디렉토리에서 명령을 실행하는 방법


16

주어진 디렉토리에서 cron 작업으로 명령 (실제로는 쉘 스크립트)을 실행하고 싶습니다. 사용하지 않고 주어진 디렉토리로 설정되도록 어떻게 실행할 수 있습니까 cd?

답변:


16

당신의 질문은 거의 이해가되지 않습니다. 사용하십시오 cd. cd당신이 그것을 시도했지만 작동하지 않아서 사용하지 말라고 대답 하면 crontab에 올바르게 입력하지 않았을 가능성이 있습니다.

가장 간단한 방법은 주요 작업을 CD로 실행하고 스크립트를 작성하는 작은 셸 스크립트를 작성하는 것입니다.


1
crontab으로 하나의 작업에 여러 명령을 넣을 수 있습니까? 그렇지 않으면 cd [path] 를 코딩 해야합니다 . 경로가 변경되어 실제로 성가신 배포 문제가 발생하고 구성을 분산시키는 것이 비용 부담으로 피할 수 있습니다.
좀비

1
@Zombies : 예, 하나의 작업에 여러 명령을 넣을 수 있습니다 (예 : 세미콜론 또는으로 구분 &&). 그러나 모든 명령이 포함 된 별도의 스크립트를 작성하고 Daenyth가 제안한 것처럼 스크립트의 경로를 cron에 넣을 수도 있습니다. 스크립트는 원하는 경우 구성 파일에서 디렉토리를 읽는 것과 같은 작업을 수행 할 수 있습니다. 요점은 스크립트에 디렉토리 이름을 가져 오려는 이유가 아닙니다 cd.
David Z

내가 참조. crontab에서 cd를 직접 사용하고 싶습니다. 파일로 작성하면 섬세하고 깨지기 쉬운 구성을 위해 각 파일에서 CD를 편집해야하기 때문입니다.
좀비

3
그리고 crontab 파일에 CD를 넣으면 각 crontab 파일에서 CD를 편집해야합니다. 문제를 이해하지 못합니다. 아마도 당신이하고자하는 일을 더 자세히 설명 할 수있을 것입니다.
garyjohn

그리고 crontab 파일에서 쉘 스크립트를 실행하는 다른 이유는 환경이 올바르게 설정되었는지 확인하기위한 것입니다. 크론 작업에 주어진 환경은 일반적으로 최소한으로 유지되기 때문에 일반적으로 더 유용한 것으로 재설정해야합니다.
Jonathan Leffler 2016 년

60

스크립트 경로를 지정하십시오. 필요 없음 cd:

0 12 * * * /path/to/script args

스크립트가있는 파일을 찾는 경우 .에, 당신은 것입니다 사용해야합니다 cd:

0 12 * * * cd /some/dir && /path/to/script args


4
&&@WillSheppard 링크에 대한 답변에서와 같이 이전 명령이 성공한 경우 다음 명령 만 실행 ;하기 보다 낫습니다 &&.
Max Heiber

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.