C# SSH Bağlantı Sorusu
8
●1.077
- 04-06-2014, 22:55:20Merhaba,bir yazılım yapıyorum sunuculara belli komutlar gönderecek ve karşılıklarını bana gösterecek,SSH.NET Library'yi projeme dahil ettim komutu göndermeyi başardım ancak komutun çıktısından bir kısmı kesip almam lazım nasıl yapabilirim komplede alsam olur yardımcı olabilecek var mı?
- 04-06-2014, 23:44:03Projeyi tahmin edebiliyorum, daha detaylı bir versiyonunu yazıyorum çünkü
Eğer tahmin ettiğim şeyse tabi.
Geri dönen değeri işlemek için uğraşacağına gönderdiğin komutla işlenmiş bir veri elde edebilirsin. Atıyorum uptime değerini awk ile işleyip gün, saat, dakika olarak ayrı ayrı döndürebilirsin. Linux bu açıdan sana çok fazla yol sunar. - 04-06-2014, 23:47:24ertan2002 adlı üyeden alıntı: mesajı görüntüle
string IP = "ip""; string User = "root"; string Pass = "parola"; try { var server1 = new SshClient(IP, User, Pass); server1.Connect(); server1.RunCommand("top"); Burada karşılığı almam lazım server1.Disconnect(); } catch (Exception ex) { ex = new Exception("Bağlantıda problem/ler mevcut !"); MessageBox.Show(ex.Message); }https://sshnet.codeplex.com/discussions/301739 şurada anlatmışlar ama tam çözemedim,ilginiz için teşekkürler.
Load değerlerini alacağım,belirli seviyenin üstündeyse saatin yanından uyarı verdireceğim birde yedekleme ile ilgili bir planım varCtrlInformatics adlı üyeden alıntı: mesajı görüntüle
- 05-06-2014, 00:05:44Kısmen aynı projeymiş. O zaman sana yardımcı olalımAxerhosting adlı üyeden alıntı: mesajı görüntüle
Tabiki şaka insanlık ölmedi.
Belirtmek isterimki C#tan zerre anlamam. C++ programcısıyım ben. Aşağıdaki sonuçların çıktılarını değişkenlere atayabilirsin:
Bu kod 1, 5 ve 15. dakikanın loadlarını verir: awk '{ print "1 dk: %" $1 " - 5 dk: %" $2 " - 15 dk: %" $3 }' /proc/loadavg
Bu kod o anki yani 1. dkdaki loadı: awk '{ print "%" $1}' /proc/loadavg
% işareti olmadan: awk '{print $1}' /proc/loadavg
Sanırım mantığı anlamışsındır. Bu şekilde yazmak seni gereksiz hantallıktan kurtaracaktır. Linux geniş bir sistemdir. İstediğin gibi oyna onunla, sana ayak uydurur. - 05-06-2014, 00:11:41Komut gönderme olayı tamamda alamıyorum şuanda sıkıntı orada ilgin için çok teşekkürler.CtrlInformatics adlı üyeden alıntı: mesajı görüntüle
Yani şuanki durum ben konuşuyorum adam bana bakıyor bir türlü konuşturamadım
- 05-06-2014, 00:34:59Ben ilk mesajı yanlış anlamışım. Kodlara bakınca dank etti şimdi.
Direk olarak komut veriyorsun, sınıfta çıktı tanımlanmamışsa değer vermeyecektir bildiğim kadarıyla. Eğer imkanın varsa şu şekilde denemen daha yararlı olur: Komutu shell ekranına yazdır ve entera bastır (WriteLine olayı sanırım). Ardından aldığı değeri feof (C#taki karşılığı nedir bilmiyorum) dönene kadar oku ve değişkene aktar yada varmı bilmiyorum ama benzerinin olması lazım ConsoleReadLine ile satırdaki değeri al.
Ben ssh bağlantılarında veri okumayı mantıken bu şekilde yapıyorum. Eğer çözüm bulamazsan ek bir deneme yolu olsun.
Eğer tahmin ettiğim şeyse tabi.
Tabiki şaka insanlık ölmedi.