특정 사용자로 cron 작업을 실행하는 방법은 무엇입니까?

특정 사용자로 cron 작업을 실행하는 방법은 무엇입니까?

내 크론 및 스크립팅 기술은 매우 열악하지만 "cpc" 사용자가 5분마다 작업을 실행해야 합니다. 그래서 스크립트를 만들어 /root에 보관했습니다.

내 crontab -e 항목은 다음과 같습니다.

0-59/5 * * * * /root/bi-kettle.sh

이 스크립트(bi-kettle.sh)는 다음과 같습니다.

#!/bin/bash
su cpc
cd /home/cpc/data-integration 
/bin/bash kitchen.sh -rep="01" -job="MainLoad" -user="admin" -pass="admin" -level="Basic"`

하지만 언제든지 호출되거나 실행되지 않습니다. 내가 여기서 무엇을 놓치고 있는 걸까요?

미리 감사드립니다!

답변1

이것이 su실패하는 이유입니다. 즉, 대화형 쉘을 시작하는 것입니다. cpc 사용자의 crontab에 추가하면 어떨까요?crontab -e -u cpc

답변2

스크립트에 대한 권한은 무엇입니까? 즉, 을 실행하면 ls -l /root/bi-kettle.sh스크립트가 루트에서 실행 가능하도록 설정되어 있습니까? 그렇지 않은 경우 수정이 간단할 수 있습니다.chmod +x /root/bi-kettle.sh

관련 정보