Saya menyimpan pid sphinx saya di /var/run/sphinx/searchd.pid tetapi setiap kali saya me-reboot direktori / var / run / sphinx menghilang dan sphinx gagal untuk memulai. Apakah ada cara untuk membuat direktori itu menempel atau membuatnya secara otomatis dibuat? Bagaimana orang biasanya menangani situasi ini? Saya menggunakan Ubuntu Hardy
19
mount
?Jawaban:
Direktori itu hanya sementara. Jika isinya terjebak di sepatu bot, semua jenis efek buruk dapat terjadi, karena skrip kontrol dari berbagai jenis melihat di sana untuk melihat proses apa yang harus mereka sinyalkan. Pada sistem baru-baru ini, sifat sementara ini diberlakukan oleh pemasangan
/var/run
sebagaitmpfs
, sementara sistem yang lebih lama hanya menghapus semua yang ada di direktori saat startup.Oleh karena itu, Anda perlu mengonfigurasi Sphinx atau skrip startupnya untuk membuat direktori itu, atau cukup menulis file PID
/var/run
secara langsung.sumber
Anda memiliki dua peluang setidaknya:
mkdir -p /var/run/sphinx/
atau
pid_file = /var/run/sphinx-searchd.pid
di/etc/sphinx.conf
Saya untuk yang kedua.
sumber
sekarang ada mekanisme terpusat untuk pembuatan file dan direktori sementara seperti ini. Sebuah layanan yang ingin menggunakan metode ini dapat menghapus perintah mkdir di skrip startup-nya sendiri dan sebagai gantinya menempatkan file .conf di /etc/tmpfiles.d, /run/tmpfiles.d, atau /usr/lib/tmpfiles.d, dengan Ubuntu layanan yang tampaknya lebih suka opsi terakhir. untuk kasus Anda, buat file
/usr/lib/tmpfiles.d/sphinx.conf
.isi dari file tersebut adalah:
d /var/run/sphinx 0755 root root
di sini
d
singkatan direktori, di sebelahnya ada path, izin, pemilik dan grup.Ini akan membuat
/var/run/sphnix
direktori saat reboot.Lihat tmpfiles dokumentasi lengkap
sumber