Menjalankan Cronjob @reboot mengembalikan bahwa file di nfs share tidak ada.
Contoh
@reboot python /abs/path/to/script.py
email dari crontab saat startup berbunyi "kurang lebih"
/usr/bin/python can't open file "/abs/path/to/script.py": [Error No. 2] No such file or folder.
Script dapat dijalankan dari baris perintah tanpa kesulitan ..
Teori adalah bahwa cronjob berjalan sebelum mount telah dijalankan.
Pertanyaan-pertanyaan.
- Apakah teori ini benar?
- Apakah ada cara untuk memaksa pekerjaan meratap sampai drive sudah terpasang? .... Selain hanya menempatkan tidur 60 ke perintah. ;) Saya sudah mencobanya, tapi itu gagal dan gagal dan saya perlu skrip untuk menjalankan 100% dari waktu dengan cepat.
Jawaban:
Anda dapat menggunakan perintah mountpoint untuk memastikan mount telah terjadi sebelum Anda menjalankan perintah Anda mis. (Dengan asumsi / abs adalah titik mount)
sumber
mountpoint
- ini sangat berguna!Saya tidak yakin apa masalahnya sejak cron dimulai setelah jaringan. (Setidaknya dalam Red Hat dan turunannya.) Apakah mount Anda
/etc/fstab
dengan_netdev
opsi atau di mana?Cara standar untuk menjalankan sesuatu saat memulai adalah dengan memasukkannya
/etc/rc.local
. Ini akan dijalankan setelah jaringan diinisialisasi dan semua layanan lainnya dimulai. (Termasuk pemasangan sistem file jarak jauh.)(Atau adakah alasan untuk hanya menjalankan skrip setelah reboot secara literal?)
sumber
Berikut ini beberapa ide untuk Anda:
periksa apakah NFS sudah terpasang. Jika tidak, pasang, lalu jalankan skrip Anda:
[ ! -f /abs/path/to/script.py ] && mount -t nfs device dir && python /abs/path/to/script.py
jalankan skrip Anda dalam
start()
fungsi skrip init NFS:sumber
Untuk benar-benar yakin bahwa skrip python dapat dijalankan. Anda harus membungkusnya dengan skrip yang disimpan di penyimpanan lokal untuk memverifikasi bahwa titik pemasangan telah muncul.
Sesuatu seperti (kode pseudo peringatan):
sumber