크론탭을 사용하려고 합니다
본문
크론탭에 대해 어떻게 설정해야 할지 문의드립니다.
사용자가 날짜와 시간을 입력하면 그시간에 자동으로 문자메시지를 발송되게 하고 싶습니다.
예를 들어 사용자가 날짜를 2019-10-26일로 선택후에 시간은 9-18시 사이에 선택할수 있는데, 가령 10시를 선택하면 2019-10-26 10:00:00에 자동으로 실행되면 되게 대해 어떻게 설정해야 할지 문의드립니다.
사용자가 날짜와 시간을 입력하면 그시간에 자동으로 실행되게 하고 싶습니다.
예를 들어 사용자가 날짜를 2019-10-26일로 선택후에 시간은 9-18시 사이에 선택할수 있는데, 가령 10시를 선택하면 2019-10-26 10:00:00에 자동으로 실행되게 할려고 합니다.
그런데 사용자들이 선택하는 시간이 10시만 선택하는 것이 아니라 9시부터 18시까지 선택할수 있습니다.
그러면 크론을 설정하는 파일에서는
#매일 60분마다 9-18시까지 월요일부터 금요일까지 php실행
*/60 9-18 * * 1-5 /usr/local/php/bin/php 실행할 php 파일
이렇게 해야하는지 아니면
0 17 9-18 * * 1-5 /usr/local/php/bin/php 실행할 php 파일
이렇게 한번만 실행해야 하는지요?
하루에 한번만 실행되게 해도 될것 같기는 한데요
어떻게 해야 할까요?
답변 2
sh가 한시간에 한번씩 계속 실행되면서 php를 호출하는 방식으로 해야됩니다.
php에서 월부터 금요일 내인지 9시부터 16시 내인지를 판단하면 될것같구요.
문자발송을 위한거라면 대부분 문자발송 api에서 예약발송을 지원하는데 그것을 사용하는것이 많이 쉽지 않을까 싶습니다.
크론탭 예제입니다.
* * * * * /root/every_1min.sh
→ 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회[2])
15,45 * * * * /root/every_30min.sh
→ 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회[3])
*/10 * * * * /root/every_10min.sh
→ 10분마다 /root/every_10min.sh 를 수행 (하루에 144회[4])
0 2 * * * /root/backup.sh
→ 매일 02:00에/root/backup.sh 를 수행 (하루에 1회)
30 */6 * * * /root/every_6hours.sh
→ 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30)
30 1-23/6 * * * /root/every_6hours.sh
→ 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30)
0 8 * * 1-5 /root/weekday.sh
→ 평일(월요일~금요일) 08:00
0 8 * * 0,6 /root/weekend.sh
→ 주말(일요일, 토요일) 08:00
* * 1 * * /root/month.sh
→ 한달에 한번 (매월 1일) 실행