매일 PHP 자동 실행을 구현하는 방법: 1. 서버에 crontab을 설치합니다. 2. crontab 예약 실행 작업 목록을 봅니다. 3. 시간 설정 규칙에 따라 설정합니다.
이 기사의 운영 환경: linux5.9.8 시스템, PHP 버전 7.1, Dell G3 컴퓨터.
php는 매일 정기적으로 실행할 수 없으며 java 또는 c만 실행할 수 있습니다. php는 페이지에 액세스하지 않고 코드를 건드리지 않기 때문입니다. 그러나 국가를 구할 수 있는 방법이 있습니다
매번 정기적으로 실행하고 싶은 페이지를 작성합니다. day , 운영 체제에 따라 예약된 작업을 수행하고 이 페이지를 정기적으로 방문하세요. 이 기사에서는 Linux 시스템을 예로 들어 설명합니다.
PHP는 예약된 작업을 구현합니다
systemctl status crond.service
yum install vixie-cron yum install crontabs
systemctl restart crond.service #启动服务 systemctl reload crond.service #重新载入配置 systemctl status crond.service #查看crontab服务状态 systemctl enable crond.service #开机自启动
crontab -u root -e #进入定时任务编辑
crontab -l
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 (每分钟用或者 */1表示,/n表示每n分钟,例如*/8就是每8分钟的意思,下面也是类推) 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令
tail -f /var/log/cron
*/2 * * * * curl -o /home/index.html www.baidu.com #每隔两分钟使用curl 访问www.baidu.com 并将结果写入/home/index.html 文件
00 * * * * lynx -dump https://www.yourdomain.com/script.php #当前时间的分钟数为00时,执行该定时任务
lynx -dump https://www.yourdomain.com/script.php #通过lynx访问这个url。我们在使用中主要用到lynx、curl、wget来实现对url的远程访问,而如果要提高效率,直接用php去执行本地php文件是最佳选择
00 */2 * * * /usr/bin/php /home/www/script.php #直接用php去执行本地php文件
이 명령문은 2시간마다 0분에 Linux 내부 PHP 환경을 통해 script.php를 실행할 수 있습니다. 이는 url을 통해 접근하는 것이 아니라, 서버 환경에서 실행되는데, 서버 환경을 우회하기 때문에 효율성은 훨씬 높다.
/usr/bin/php를 사용해야 하는 이유는 다음 명령을 사용하면 됩니다. which php 或者 whereis php
View
crontab에서 실행 결과를 파일로 출력합니다. 그런 다음 이 파일의 실행 상태를 확인하십시오. 예:
*/1 * * * * /usr/bin/php /data/dou/web/api/cron.php >> /data/dou/web/cron.txt
명령의 연속 실행:
순서대로 실행됨(`;`로 구분)
cmd1; cmd2; cmd3;
논리 AND로 실행(&&로 구분)
cmd1&&cmd2&&cmd3; cmd4;
논리 OR로 실행:(으로 구분) ||)
cmd1||cmd2||cmd3; cmd4;
즉, 반환 값이 0일 때 논리 AND가 계속 실행됩니다. 반환 값이 0이 아닐 때 논리 OR가 계속 실행됩니다. 논리 AND 및 논리 OR과 동일합니다. 일반적인 프로그램의 단락(`?`는 반환 값, 명령 실행이 정확하면 반환 값은 0입니다. echo $?를 통해 테스트할 수 있습니다. 구체적으로 "return"을 검색하세요)
조합:
cmd1;
cmd2||cmd3&&cmd4;
cmd5;
cmd1을 먼저 실행한 후 cmd2를 실행하고, cmd2가 반환하는 경우 전달된 값이 0이 아니면 cmd3이 실행되고, cmd3에서 반환된 값이 0이면 cmd4가 실행됩니다.
시간 설정 규칙의 예:
1. 1분마다 규칙을 정기적으로 실행:
1분마다 실행: */1 * * * * 또는 * * * * *
5분마다 실행: */5 * * * *
2. 매시간 규칙 실행:
매시간 실행: 0 * * * *또는 0 */1 * * *
매일 오전 7시에 실행: 0 7 * * *
매일 오전 7시 10분 실행: 10 7 * * *
3. 매일 정기적으로 규칙 실행:
매일 실행 0 0 * * *
4 매주 정기적으로 규칙 실행:
매주 한 번 규칙 실행 0 0 * * 0
5. 매월 정기적으로 규칙 실행:
매월 규칙 실행 0 0 1 * *
6 매년 규칙 실행:
0 0 1 1 *
7 매년. 기타 예
5 * * * * 매시 5분에 실행되도록 ls 명령을 지정
30 5 * * * ls 매일 5시 30분에 실행되도록 ls 명령을 지정
30 7 8 * * ls는 ls 명령이 매월 8일 7시 30분에 실행되도록 지정합니다.
30 5 8 6 * ls는 ls 명령이 매년 6월 8일 5시 30분에 실행되도록 지정합니다.
30 6 * * 0 ls는 매주 일요일의 6을 지정합니다: 30 ls 명령을 실행합니다. [참고: 0은 일요일을 의미하고, 1은 월요일 1을 의미합니다. 영어로도 표현할 수 있으며, sun은 일요일을 의미하고, mon은 월요일을 의미합니다. ]
30 3 10,20 * * ls 매월 10일, 20일 3시 30분에 ls 명령을 실행합니다. [참고: ","는 여러 개의 불연속 기간을 연결하는 데 사용됩니다.]
25 8-11 * * * ls Every day 8시부터 11시까지 25분에 ls 명령을 실행합니다. [참고: "-"는 연속된 마침표를 연결하는 데 사용됩니다.]
*/15 * * * * ls 15분마다 ls 명령을 실행합니다. [i.e. 매 시간 45 60분 후에 ls 명령 실행]
30 6 */10 * * ls 매월 10일마다 6시 30분에 ls 명령을 실행합니다. 매월 31일 ls 명령을 한 번 실행합니다. ]
【추천 학습: PHP 비디오 튜토리얼】
위 내용은 매일 자동으로 PHP를 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!