Saya menjalankan cron dari cpanel, saya ingin menjalankan satu file dan ketika sudah selesai yang berikutnya. ini perintah saya
/usr/bin/wget -O /dev/null -o /dev/null https://example.com/file.php > /dev/null 2>&1 && wget -q -O - https://example.com/file2.php
Hanya menjalankan yang pertama. Mengapa?
Terima kasih!
wget
dipanggil tanpa path lengkap. Seharusnya tidak menjadi masalah dengan defaultPATH
yang seharusnya,"/usr/bin:/bin"
tetapi pastikan Anda tidak menimpanya dicrontab
. Perhatikan ini tidak berfungsicrontab
seperti yang Anda harapkan:PATH=/some/other/path:$PATH
karena$PATH
tidak diperluas di sana. Jadi, jika Anda menggunakan klausa seperti itu Anda akan memiliki yang tidak terdugaPATH
.Jawaban:
&&
hanya menjalankan perintah kedua jika perintah pertama keluar dengan kode keluar nol (tidak ada kesalahan). Mungkinwget
tidak dapat mengambil URL yang Anda tentukan?Jika Anda ingin perintah kedua selalu dijalankan setelah perintah pertama bahkan jika perintah pertama melaporkan kesalahan, maka gunakan
;
alih-alih&&
untuk bergabung dengan dua perintah.sumber