특정 날짜와 시간이 포함 된 텍스트 파일이 있습니다. 해당 파일에 지정된 시간에 스크립트 를 실행할 수 있기를 원합니다 . 어떻게 이룰 수 있겠습니까? 백그라운드에서 실행되는 다른 스크립트 (일종의 데몬)를 만들고 현재 시간이 파일의 시간과 일치하는지 매초마다 확인합니까? 다른 방법이 있습니까? 기계는 리눅스 서버, Debian wheezy입니다. 미리 감사드립니다
특정 날짜와 시간이 포함 된 텍스트 파일이 있습니다. 해당 파일에 지정된 시간에 스크립트 를 실행할 수 있기를 원합니다 . 어떻게 이룰 수 있겠습니까? 백그라운드에서 실행되는 다른 스크립트 (일종의 데몬)를 만들고 현재 시간이 파일의 시간과 일치하는지 매초마다 확인합니까? 다른 방법이 있습니까? 기계는 리눅스 서버, 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
도움이 되었기를 바랍니다.
Can't open /var/run/atd.pid to signal atd. No atd running?
있는 단서를?
atd
를 사용 하려면 데몬을 실행해야합니다 at
. Manjaro OpenRC에, 당신은 단지 설치 at-openrc
와 함께 데몬 ATD 서비스를 추가 sudo rc-update add atd
및 시작 sudo rc-service atd start
. 일반적으로 at
패키지에는 이미 systemd
시작될 수있는 서비스 (Ubuntu를 포함한 다양한 배포 Linux의 기본 init / service 시스템)가 포함 sudo systemctl start atd
되어 있으며 sudo systemctl enable atd
.
at -c
사용법을 설명 합니다. 명령을 실행하는 방법이 std in으로 파이프하는 것이라면 무엇입니까?
이 at
명령은 특히이 목적을 위해 존재합니다 ( cron
반복 작업을 예약하기위한 것과 달리 ).
at $(cat file) </path/to/script
$(< file)
일반적으로 Linux crontab
에서는 이러한 종류의 복잡한 작업에 사용합니다. 그러나 "타이머를 설정"할 때 시간을 지정해야합니다. 따라서 파일 자체에서 구성 할 수 있도록하려면이를 수행하는 몇 가지 메커니즘을 만들어야합니다.
그러나 일반적으로 다음과 같이 사용합니다.
30 1 * * 5 /path/to/script/script.sh
매주 금요일 오전 1시 30 분에 스크립트를 실행합니다.
30
분
1
시간이다
다음 2 개의 *는 day of month
and month
(순서대로)이며 5
평일입니다.