Program Tip

Linux에서 특정 시간에 스크립트를 실행하는 방법은 무엇입니까?

programtip 2020. 10. 23. 08:21
반응형

Linux에서 특정 시간에 스크립트를 실행하는 방법은 무엇입니까?


특정 날짜와 시간이 포함텍스트 파일이 있습니다. 해당 파일에 지정된 시간에 스크립트실행할 수 있기를 원합니다 . 어떻게 이룰 수 있겠습니까? 백그라운드에서 실행되는 다른 스크립트 (일종의 데몬)를 만들고 현재 시간이 파일의 시간과 일치하는지 매초마다 확인합니까? 다른 방법이 있습니까? 머신은 리눅스 서버 인 Debian wheezy입니다. 미리 감사드립니다


다음을보십시오.

echo "ls -l" | at 07:00

이 코드 줄은 특정 시간에 "ls -l"을 실행합니다. 이것은 특정 시간에 무언가 (내 예제의 명령)를 실행하는 예입니다. "at"는 실제로 찾고 있던 명령입니다. 여기에서 사양을 읽을 수 있습니다.

http://manpages.ubuntu.com/manpages/precise/en/man1/at.1posix.html http://manpages.ubuntu.com/manpages/xenial/man1/at.1posix.html

도움이 되었기를 바랍니다.


at명령은 특히이 목적을 위해 존재합니다 ( cron반복 작업을 예약하기위한 것과 달리 ).

at $(cat file) </path/to/script

Cron 은 매주 토요일 오전 4시와 같이 주기적으로 실행되는 것에 좋습니다. 전원 종료, 절전 및 기타 문제를 해결하는 anacron있습니다 . 뿐만 아니라 에서 .

그러나 루트 나 아무것도 필요하지 않은 일회성 솔루션의 경우 날짜 를 사용하여 현재 시간뿐만 아니라 대상 시간의 기점 이후 초를 계산 한 다음 expr사용 하여 차이를 찾을 수 있습니다. 잠이 많은 초.


일반적으로 Linux crontab에서는 이러한 종류의 복잡한 작업에 사용합니다. 그러나 "타이머를 설정"할 때 시간을 지정해야합니다. 따라서 파일 자체에서 구성 할 수 있도록하려면이를 수행하는 몇 가지 메커니즘을 만들어야합니다.

그러나 일반적으로 다음과 같이 사용합니다.

30 1 * * 5 /path/to/script/script.sh

매주 금요일 오전 1시 30 분에 스크립트를 실행합니다.

30

1 시간이다

다음 2 *는 day of monthand month(순서대로) 5평일입니다.

참고 URL : https://stackoverflow.com/questions/18945669/how-to-run-a-script-at-a-certain-time-on-linux

반응형