Saya baru menggunakan cron job. Saya bahkan tidak tahu bagaimana menulisnya. Saya sudah mencoba mencari dari internet, tetapi saya masih belum memahaminya dengan baik. Saya ingin membuat tugas cron yang akan mengeksekusi kode saya setiap menit. Saya menggunakan PHP untuk membuatnya. Ini tidak bekerja.
Contoh
run.php (Kode yang akan dieksekusi setiap menit)
<?php
echo "This code will run every minute";
?>
cron.php
<?php
$path = dirname(__FILE__);
$cron = $path . "/run.php";
echo exec("***** php -q ".$cron." &> /dev/null");
?>
Misalkan kedua file ini berada di folder yang sama.
Apakah kode yang saya lakukan salah? Jika salah, mohon beri tahu saya cara memperbaikinya.
crontab
Jawaban:
Ini adalah penjelasan terbaik dengan kode dalam PHP yang saya temukan sejauh ini:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
Pendeknya:
Meskipun sintaks penjadwalan pekerjaan baru pada pandangan pertama mungkin tampak menakutkan, sebenarnya relatif mudah dipahami setelah Anda memecahnya. Pekerjaan cron akan selalu memiliki lima kolom yang masing-masing mewakili 'operator' kronologis diikuti oleh jalur lengkap dan perintah untuk dieksekusi:
* * * * * home / path / ke / command / the_command.sh
Setiap kolom kronologis memiliki relevansi khusus dengan jadwal tugas. Mereka adalah sebagai berikut:
Jadi, misalnya, jika seseorang ingin menjadwalkan tugas untuk jam 12 pagi pada hari pertama setiap bulan, akan terlihat seperti ini:
0 0 1 * * home / path / ke / command / the_command.sh
Jika kami ingin menjadwalkan tugas untuk dijalankan setiap hari Sabtu pada jam 8:30 pagi, kami akan menuliskannya sebagai berikut:
30 8 * * 6 beranda / jalur / ke / command / the_command.sh
Ada juga sejumlah operator yang dapat digunakan untuk menyesuaikan jadwal lebih jauh:
Kunjungi tautan untuk artikel lengkap, itu menjelaskan:
sumber
Dengan cara yang sama Anda mencoba menjalankan cron.php, Anda dapat menjalankan skrip PHP lain. Anda harus melakukannya melalui antarmuka CLI.
Kemudian, tambahkan entri ke crontab:
Jika skrip run.php memiliki izin yang dapat dieksekusi, itu bisa didaftarkan langsung di crontab, tanpa bagian / usr / bin / php juga. Bagian 'env php', dalam skrip, akan menemukan program yang sesuai untuk menjalankan kode PHP. Jadi, untuk versi 'yang dapat dieksekusi' - tambahkan izin yang dapat dieksekusi ke file:
lalu, tambahkan entri berikut ke crontab:
sumber
Ditambahkan ke Alister, Anda dapat mengedit crontab biasanya (tidak selalu demikian) dengan memasukkan crontab -e dalam sesi ssh di server.
Bintang-bintang mewakili (* berarti setiap unit ini):
Anda dapat membaca lebih banyak tentang ini di sini .
sumber
Ketik yang berikut ini di terminal linux / ubuntu
pilih editor (terkadang meminta editor) dan ini dijalankan setiap menit
sumber
Itu mungkin tergantung pada host web Anda jika Anda tidak menghosting konten Anda sendiri. Jika host web Anda mendukung pembuatan tugas chron, mereka mungkin memiliki formulir untuk Anda isi yang memungkinkan Anda memilih frekuensi dan memasukkan jalur absolut ke file untuk dieksekusi. Misalnya, host web saya (DreamHost) memungkinkan saya membuat tugas cron khusus dengan mengetikkan jalur absolut ke file dan memilih frekuensi dari menu pilihan. Ini mungkin tidak dapat dilakukan untuk server Anda, dalam hal ini Anda perlu mengedit crontab secara langsung atau melalui metode khusus host Anda.
Seperti yang dijelaskan Alister Bulman di atas, buat file PHP untuk dijalankan menggunakan CLI (pastikan untuk menyertakan
#!/usr/bin/env php
di awal file sebelum<?php
tag. Ini memastikan bahwa shell mengetahui file yang dapat dieksekusi yang harus dipanggil saat menjalankan skrip.sumber
kenapa kamu tidak menggunakan curl? logisnya, jika Anda menjalankan file php, Anda akan menjalankannya dengan url di browser Anda. ini sangat sederhana jika Anda menjalankan curl
sumber
sumber
Pertama buka server SSH Anda dengan nama pengguna dan kata sandi dan ubah ke pengguna root default (Pengguna dengan semua izin) kemudian ikuti langkah-langkah di bawah ini,
crontab -l
sekarang Anda akan melihat daftar semua cronjobs.crontab -e
file dengan semua pekerjaan cron akan dibuka.min hr dayofmonth month dayofweek pathtocronjobfile
dan simpan file.crontab: installing new crontab
sekarang, periksa lagi daftar cronjobs, pekerjaan cron Anda akan terdaftar di sana.sumber
Lebih baik gunakan proyek Cron yang dikombinasikan dengan Linux cronjob untuk tugas ini. Ini memungkinkan Anda untuk mengkonfigurasi waktu berjalan dalam Kode PHP Anda, mendukung pekerjaan latar belakang dan mudah digunakan.
Langkah pertama panggil Script PHP setiap menit:
Langkah Kedua menggunakan Paket cron / cron untuk mengkonfigurasi waktu proses secara langsung di PHP.
Anda menemukan detail cara menggunakan di repositori tertaut.
sumber
Buat cronjob seperti ini untuk dikerjakan setiap menit
sumber
Ada cara sederhana untuk mengatasi ini: Anda dapat mengeksekusi file php dengan cron setiap 1 menit, dan di dalam file yang dapat dieksekusi php membuat pernyataan "jika" untuk dieksekusi ketika waktu "sekarang" seperti ini
sumber
sumber