Di server A, saya ingin mengeluarkan perintah berikut ke Server B melalui ssh.
service network stop
sleep 5
service network start
Masalahnya adalah karena saya mengeluarkan jaringan 'berhenti', maka koneksi ssh saya saat ini terputus juga. Karena itu saya tidak dapat menjalankan perintah berikutnya (sleep 5 dan service network start). Perhatikan bahwa saya tidak dapat menggunakan (service network restart).
Adakah yang punya solusi untuk ini?
linux
networking
ssh
Carmen
sumber
sumber
Jawaban:
Jika Anda melakukan ini secara interaktif, mengapa tidak memulai
screen
sesi? Akan terlihat seperti ini:(scren shell dimulai)
(Sesi SSH terputus, tetapi jaringan restart di sesi layar)
(Tunggu beberapa detik)
(SSH kembali ke host setelah restart selesai)
(Sambungkan kembali ke layar dan periksa kesalahan)
IMHO, selalu menakutkan untuk memulai kembali antarmuka jaringan dari jarak jauh. Apa yang terjadi ketika itu tidak muncul kembali? Apakah Anda memiliki konsol atau cara lain untuk menjadi tuan rumah jika sesuatu yang buruk terjadi?
sumber
screen
saat bekerja pada mesin jarak jauh. Dalam kasus pemutusan yang tidak terencana itu bisa menjadi penyelamat. Juga memiliki beberapa cangkang aktif di sesi yang sama bisa berguna. Anda mungkin juga ingin melihatnyatmux
juga, saya belum menggunakannya sendiri tetapi beberapa orang lebih menyukainyascreen
dan fungsi intinya memberikan manfaat yang sama.Failed to restart network.service: Unit network.service failed to load: No such file or directory.
Ini berfungsi: serverfault.com/a/731120/10361systemctl restart networking
tidak bekerja untuk saya karena suatu alasan dalamtmux
sesi di Ubuntu Xenial.systemctl restart network
bekerja pada CentOS 7 (OpenVZ) bahkan tidak dalamtmux
/screen
sesi. Tanpa kehilangan koneksi.Perintah persis yang tersedia untuk melakukan ini bervariasi berdasarkan distribusi Linux. Pada opsi yang cukup standar adalah untuk menjadwalkan dan "di" pekerjaan selama 5 detik di masa depan untuk memulai kembali jaringan. Satu lagi adalah menggunakan
nohup
perintah.Distribusi lain memiliki perintah daemon untuk mengubah program yang dihasilkan menjadi daemon yang tidak lagi terkait dengan shell.
sumber
Cara yang sangat sederhana untuk melakukan ini adalah dengan menggunakan operator dan:
sumber
service network restart
?service network stop
antarmuka turun,bash
menerimaSIGHUP
, dan tidak ada perintah lain yang dijalankan. Apakah saya melewatkan sesuatu?Mengapa tidak memasukkannya ke dalam skrip shell dan menjalankannya melalui SSH?
sumber
Coba ini (mungkin menginstal cron jika diperlukan):
Kemudian logout, tunggu 6 menit dan login kembali
sumber
at
scheduler tidak dalam paket cron pada kebanyakan distro, mencoba mencariat
paket langsung.Ini berfungsi dengan Debian dan Ubuntu modern, sementara semua jawaban lainnya tidak akan berfungsi.
Harap diingat bahwa perlu sedikit waktu untuk mendapatkan antarmuka kembali. Dalam kasus saya sekitar ~ 15 detik karena saya memiliki ikatan.
sumber
Sepertinya Anda ingin layar atau tmux . Ini akan memungkinkan Anda untuk mempertahankan sesi Anda melalui hilangnya koneksi jaringan. Mereka benar-benar sangat berguna, hampir semua sesi terminal saya melalui layar.
sumber
misalnya
sumber