답변:
/etc/crontab
파일 에만 /etc/cron.d/
사용자 이름 필드가 있습니다. 해당 파일에서 다음을 수행 할 수 있습니다.
1 1 * * * username /path/to/your/script.sh
루트의 crontab에서 sudo crontab -e
다음을 사용할 수 있습니다.
1 1 * * * su username -c "/path/to/your/script.sh"
또는 다음과 같이 사용자의 실제 crontab을 사용할 수 있습니다.
sudo crontab -u username -e
crontab 파일 의 두 번째 열 은 작업을 실행할 시간입니다. 여섯 번째 필드를 의미 했습니까?
/etc/cron.d/
파일 은의 일부입니다 /etc/crontab
. sudo
또한 무의미합니다. 그 부분을 제거하겠습니다.
sudo su...
일반적으로 불필요합니다. sudo -u <user> <command>
일반적으로 충분합니다. (b) sudo는 TTY가 연결되지 않은 경우 (예 : cron에 의해 실행되는 경우) 일부 시스템에서 질식합니다. sudoers 파일에서 수정 될 수 있습니다.
사용중인 실행 파일이 / usr / local / bin에있는 경우 해당 사용자의 PATH를 설정해야 할 수도 있습니다. PATH를 설정하려면 cronjobs에 다음과 같이 입력하십시오.
PATH=/bin:/usr/bin:/usr/local/bin
*/5 * * * * user1 sample_executable
다른 방법은 cronjob에서 sample_ executable의 경로를 완전히 지정하는 것입니다.
*/5 * * * * user1 /path/to/sample_executable
sample_ executable이 표준 PATH에없는 실행 파일을 참조하는 경우 첫 번째 옵션을 사용해야합니다.