Cara melaksanakan operasi PHP secara automatik setiap hari: 1. Pasang crontab pada pelayan 2. Lihat senarai tugas pelaksanaan berjadual crontab 3. Tetapkan mengikut peraturan tetapan masa.
Persekitaran pengendalian artikel ini: sistem linux5.9.8, PHP versi 7.1, komputer Dell G3.
php tidak boleh dilaksanakan secara kerap setiap hari, hanya java atau c sahaja yang boleh, kerana php tidak akan menyentuh kod tanpa mengakses halaman, tetapi ada cara untuk menyelamatkan negara
Anda menulis halaman Ia adalah halaman yang anda ingin laksanakan secara tetap setiap hari, dan kemudian bergantung pada sistem pengendalian anda, lakukan tugas yang dijadualkan dan lawati halaman ini dengan kerap. Artikel ini mengambil sistem Linux sebagai contoh.
PHP melaksanakan tugas berjadual
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文件
Pernyataan ini boleh digunakan pada 0 minit setiap 2 jam , laksanakan skrip.php melalui persekitaran PHP dalaman Linux Ambil perhatian bahawa ini tidak diakses melalui URL dan dilaksanakan melalui persekitaran pelayan, tetapi dilaksanakan secara langsung Kerana persekitaran pelayan dipintas, kecekapan adalah tentu lebih tinggi.
Mengenai mengapa anda perlu menggunakan /usr/bin/php, anda boleh menggunakan arahan: which php 或者 whereis php
Lihat
Dalam crontab , hasil pelaksanaan akan menjadi Output kepada fail. Kemudian semak status pelaksanaan dalam fail ini. Contohnya:
*/1 * * * * /usr/bin/php /data/dou/web/api/cron.php >> /data/dou/web/cron.txt
Pelaksanaan arahan yang berterusan:
Laksanakan mengikut tertib (dipisahkan dengan `;`)
cmd1; cmd2; cmd3;
Secara logik DAN Laksanakan (dipisahkan oleh &&)
cmd1&&cmd2&&cmd3; cmd4;
Secara logik atau laksanakan: (dipisahkan oleh ||)
cmd1||cmd2||cmd3; cmd4;
iaitu logik apabila nilai pulangan ialah 0 Dan teruskan untuk melaksanakan, logik ATAU terus dilaksanakan apabila nilai yang dikembalikan bukan 0, dan logik program biasa adalah sama dengan logik ATAU litar pintas (`?` ialah nilai yang dikembalikan, dan nilai yang dikembalikan ialah 0 apabila perintah itu dilaksanakan dengan betul Pass echo $? .
1. Laksanakan peraturan dengan kerap setiap minit:
Laksanakan setiap 1 minit: */1 * * * *atau * * * * *
2 Laksanakan peraturan setiap jam: Pelaksanaan setiap jam: 0 * * * * atau 0 */1. * * *
Pelaksanaan setiap hari pada pukul 7 pagi: 0 7 * * * Setiap hari pada pukul 7 pagi. Laksanakan pada 10 mata: 10 7 * * *
3 :
4 Laksanakan peraturan dengan kerap setiap minggu:
Lakukan setiap minggu 0 0 * * 0
Laksanakan 0 0 1 * * setiap bulan
Laksanakan setiap tahun 0 0 1 1 *
5 * * * * Tentukan arahan ls untuk dilaksanakan sekali setiap jam pada minit ke-5
30 5 * * * ls Tentukan setiap hari Pada 5:30, jalankan arahan ls
30 5 8 6 * ls
30 6 * * 0 ls menentukan untuk melaksanakan perintah ls pada 6:30 setiap Ahad [Nota: 0 bermaksud Ahad, 1 bermaksud Isnin 1, dan seterusnya, ia juga boleh dinyatakan dalam bahasa Inggeris, matahari bermaksud Ahad, mon bermakna hari dalam minggu Tunggu. ]
25 8-11 * * * ls Laksanakan arahan ls pada minit ke-25 dari jam 8 hingga 11 setiap hari [Nota: "-" digunakan untuk menyambung tempoh berturut-turut]
*/15 * * * * ls Laksanakan arahan ls setiap 15 minit [iaitu setiap Jalankan arahan ls pada 0, 15, 30, 45 dan 60 minit jam]
30 6 */10 * * ls pada setiap bulan, laksanakan arahan ls pada 6:30 setiap 10 hari [iaitu, 1, 11, dan 21 setiap bulan] , laksanakan perintah ls sekali pada 6:30 pada 31hb. ]
[Pembelajaran yang disyorkan:
Tutorial video PHP
]
Atas ialah kandungan terperinci Bagaimana untuk menjalankan php secara automatik setiap hari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!