시작 시 10분마다 주소를 ping하고 결과를 파일에 기록하는 명령을 실행하고 싶습니다. 이제 10분 간격으로 ping 및 파일 쓰기를 수행하는 방법을 알아냈습니다.
while true; do my-command-here; sleep 600; done
내 질문은 이것을 넣을 수 있습니까, /etc/init.d/rc.local
아니면 넣어야합니까 /etc/rc.local
, 아니면 완전히 다른 곳에 두어야합니까? 입니다. 무한 루프이기 때문에 특히 걱정됩니다. 그래서 시작 스크립트 중 하나에 넣을 수 있는지 잘 모르겠습니다.
도움을 주시면 대단히 감사하겠습니다. 우분투 12.04.5를 사용하고 있습니다
답변1
실제로는 무한 루프가 아닙니다. 이는 10분마다 실행해야 하는 작업입니다. 따라서 작업은 작업 스케줄러에 들어갈 수 있습니다 cron
.
명령을 실행 crontab -e
하고 파일 맨 아래에 다음 줄을 추가합니다.
*/10 * * * * /path/to/my-command-here
my-command-here
실행 가능한 스크립트( chmod u+x my-command-here
)인지, 첫 번째 줄이 #!
스크립트 인터프리터의 이름(일반적으로 #!/bin/bash
) 으로 시작하는지 확인하세요 .
패턴의 각 항목은 */10 * * * *
분(0-59), 시간(0-23), 일(1-31), 월(1-12) 및 요일(0-6, 여기서 0=일요일)에 매핑됩니다. .
답변2
/etc/init.d/rc.local에 넣을 수 있나요? 아니면 /etc/rc.local이나 다른 곳에 넣어야 하나요?
에 넣으면 rc.local
서브셸에 넣고 백그라운드로 포크해야 합니다. 마지막 줄은 rc.local
이어야 하며 exit 0
차단되지 않습니다. 즉, 모든 포그라운드 활동은 간략해야 합니다.
(while true
do my-command-here
sleep 600
done) &
( )
서브쉘에 넣고 &
백그라운드에 두세요.
문제가 발생하면,이 Q&A를 확인하세요디버깅 정보 rc.local
.