2014-01-31 15 views
1

에서 스크립트를 실행 '에서'가져올 수 없습니다 명령 '에서'스크립트 파일을 실행합니다 : 을이 하나가 잘 작동 :내가 받고하는 데 문제가 리눅스

[[email protected] init.d]$ at now + 2 min 
at> echo "this is my test" | write myid >/dev/null 2>&1 
at> <EOT> 
job 20 at Thu Jan 30 17:26:00 2014 

하지만 아무것도 내가 언제 발생하지 '에서'내 스크립트를 실행하려고 :

[[email protected] init.d]$ at now + 2 min 
at> ./users/myid/bashtest.sh 
at> <EOT> 
job 21 at Thu Jan 30 17:31:00 2014 

를 지금까지 내가 작업이 큐 '에서'에 추가 및 제거 지정된 시간 이후에하지만 아무 일도 발생하지 않습니다 본대로! 다른 곳에서 실행됩니까?

+0

스크립트의 절대 경로를 지정해 보았습니까? – ruakh

+0

'at'는 작업 디렉토리를 기억해야하기 때문에 상대 경로가 작동해야합니다. – Barmar

+0

'bashtest.sh '에 무엇이 있습니까? 'at' 스크립트 상단에'exec /tmp/at.log 2> & 1'을 추가하여'/ tmp/at.log'의 모든 결과를 기록하십시오. –

답변

0

at 명령 매우

감사는 일반적으로 인해 가능한 보안 문제에 사용할 수 없습니다. 옛날에는 at 작업을 설정 한 다음 작업을 시작하기 전에 대기열로 들어가서 환경을 포함한 스크립트를 변경할 수있었습니다.

보고 싶은 것 중 하나는 at.allowat.deny 파일입니다. 이들은 때로는 /etc 디렉토리 밑에 있고 때로는 /var 아래이고 때로는 /usr/lib/cron 아래에 보관됩니다. 실제 위치를 찾으려면 at 맨 페이지를 살펴 봐야합니다. 비어있는 at.allow 파일이 있으면 at 작업을 실행할 수 없습니다.

또 다른 사항은 atrun 명령의 맨 페이지를 살펴 봐야합니다. atrun 명령은 at 작업을 실행하는 명령입니다. 일부 시스템에서는 atrun 명령을 루트의 crontab 파일에 설정해야합니다. Mac에서는 launchd 데몬으로 실행되므로 launchctl 명령을 실행하여 atrun 프로세스를 시작해야합니다.

+0

@ 데이비드 더블유 내가 에코 명령이 잘 작동하는 첫 번째 직업을 언급 했으므로 나는 'at'가 실행 중 이슈가 없다고 생각하거나 거기에 있다고 생각하지 않습니다. ? – user3255590

+0

@ David W. 내가 열 권한이없는 at.deny 파일이 있으며 at.allow가 없습니다. 나는 하나 만들려고했으나 그것은 나도 허용하지 않았다. 하지만 'at'가 실행되지 않으면 첫 번째 예가 어떻게 실행됩니까? – user3255590

+0

@ user3255590 At 작업을 설정하면 대개 실행 대기중인 대기열에 셸 스크립트가 작성됩니다. 쉘 스크립트를 살펴보고 쉘 스크립트로 실행할 수 있는지 확인하십시오. 그러면 문제가 어디에서 발생했는지 알 수 있습니다. –