2014-12-31 4 views
0

"at"명령의 기능을 사용하여 특정 사용자 정의 시간에 특정 명령의 실행을 예약하려고합니다. "at"명령을 사용하면 가능한지 궁금해합니다. 나는 "at"가 cron 작업을 예약 할 권한이 없기 때문에 나를 도울 수 있기를 바라고 있습니다.쉘 스크립트에서 at 명령을 사용하여 명령 예약하기

상황은 내가 시도 :

user>touch testfile |at 03:00 
job 30 at 2014-12-31 03:00 
user>ls -lrt testfile 
-rw-rw-r-- 1 user group 0 Dec 31 02:59 testfile <-----file created with command execution 
user> 

user> touch testfile1 | at -f 03:01 
Garbled time 
user>ls -lrt testfile* 
-rw-rw-r-- 1 user group 0 Dec 31 02:59 testfile 
-rw-rw-r-- 1 user group 0 Dec 31 02:59 testfile1 
+1

당신이, 크론에 대한 권한이없는 경우 :

여러 명령을 실행하려면

는 여기-문서를 사용합니다. at와 함께 솔루션을 만들기 전에 시놉에 보안 정책에 대해 물어보십시오. 그들이 미래의 "at"에 대한 강점을 취소합니까? 나는 cron에 대한 권한을 부여하기를 원합니다. 그 이유는 sysop에 대해 명확한 것입니다 (그렇지 않으면 잠들기와 함께 cron 프로세스를 직접 작성할 수 있습니다 ...) –

+0

경고를 보내 주셔서 감사합니다. –

답변

2

사용 : 당신은 즉시 touch testfile를 실행하고, at에 출력을 배관하고

echo "touch testfile" | at 03:00 

. at에 대한 입력은 명령 출력이 아닌 실행하려는 명령이어야합니다. 당신이 중 하나 "로"를해서는 안보다

at 03:00 <<EOF 
touch testfile 
touch testfile1 
EOF 
+0

'at' 명령을 지정된 시간에 실행하도록 설정 한 후에'atq' 명령을 사용하여 대기열에서 실행되도록 예약 된 것을 확인할 수 있습니다. 이렇게하면 시스템이 최소한 명령을 실행하려고한다는 작은 확인을 허용합니다. –

관련 문제