Saya ingin mengambil konten dari skrip PHP di server saya dua kali sehari, mengubah variabel kueri lang
untuk menetapkan bahasa apa yang kita inginkan, dan menyimpan konten ini dalam dua file khusus bahasa. Ini crontab saya:
*/15 * * * * ~root/apache.sh > /var/log/checkapache.log
10 0 * * * wget -O /path/to/file-sv.sql "http://mydomain.com/path/?lang=sv"
11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en"
Masalahnya adalah hanya baris perintah wget pertama yang dieksekusi (atau lebih tepatnya: satu-satunya file yang sedang ditulis adalah /path/to/file-sv.sql
). Jika saya mengganti baris kedua dan ketiga, /path/to/file-en.sql
alih-alih ditulis. Baris pertama selalu berjalan seperti yang diharapkan, di mana pun itu.
Saya kemudian mencoba menggunakan tetapi lynx -dump "http://mydomain.com/path/?lang=xx" > /path/to/file-xx.sql
tidak berhasil; masih hanya baris lynx pertama yang berhasil dijalankan. Bahkan mencampur wget dan lynx tidak mengubah ini!
Menjadi agak putus asa! Apakah saya melewatkan sesuatu? Ada ribuan artikel tentang crontab (digabungkan dengan) wget atau lynx, tetapi semua tampaknya mencakup pengaturan dasar dan sintaksis. Apakah ada yang tahu apa yang saya lakukan salah?
Terima kasih,
Alexander
Jawaban:
Coba tambahkan baris baru di akhir crontab Anda.
sumber
Ada sesuatu tentang teks yang salah. Edit crontab Anda di vim lalu tunjukkan karakter yang tidak terlihat.
Anda harus dapat melihat dan memperbaikinya.
sumber
# crontab -e
EDITOR=vim crontab -e
$
di akhir setiap baris?Coba tambahkan arahan ulang, ke debug crontab (atau baca root mail):
Jalankan 'wget -O /path/to/file-en.sql " http://mydomain.com/path/?lang=en "' dari konsol.
Juga gunakan 'crontab -e' untuk memvalidasi crontab baru.
Juga, coba hapus baris yang tidak berfungsi dan ketik ulang dari keyboard.
Cadangan corntab dan jalankan perintah:
sumber
/tmp/crontab_ouptput 2> /tmp/crontab_error
hanya berfungsi untuk baris pertama. Menjalankan perintah dari konsol berfungsi dengan baik. Tulis ulang seluruh file dengan tangan kosong, tetapi tidak ada yang berubah.Saya hanya menghabiskan waktu mencoba jawaban di atas (menambahkan baris baru, menghapus baris baru, dll.) Pada sistem yang menjalankan kroni . Akhirnya ditemukan ada bug di cronie 1.5.3 yang hanya mengeksekusi pekerjaan cron pertama untuk setiap pengguna . Ini diperbaiki di 1.5.4
https://github.com/cronie-crond/cronie/issues/30
Semoga ini menghemat waktu seseorang ...
sumber